Ñíîâà XML ïàðñèíã, ìàëåíüêèé âîïðîñ
|
|
Ñóááîòà, 09 Ôåâðàëÿ 2019 ã. 16:56
+ â öèòàòíèê
Äðóçüÿ, ïîäñêàæèòå ïî òàêîìó âîïðîñó.
Âûòàñêèâàþ ÷àñòü äàííûõ èç XML, èñïîëüçóÿ @class='com.nokia.srbts.tnl:IPADDRESSV4'. Ò.ê.
ýòîò êëàññ âñòðå÷àåòñÿ íåñêîëüêî ðàç, òî ìíå íóæíî çíàòü,
÷åìó ðàâåí distName ó íåãî (ñì.êàðòèíêó). Ïî íåìó ÿ ïîíèìàþ ê ÷åìó îòíîñèòñÿ localIpAddr.
Ìîæíî êîíå÷íî èñêàòü ïî @distName, íî â íåì ìåíÿþòñÿ çíà÷åíèÿ IPIF. Òîãäà íàäî çíàòü ñêîëüêî çíà÷åíèé è êàêèõ â IPIF, äëÿ òîãî ÷òîáû çàãíàòü â ïåðåìåííóþ è ïðîéòèñü â öèêëå. Íà ìîé âçãëÿä - ýòî áóäåò íå ïðàâèëüíî.
 ïàðñèíãå ÿ íåñèë¸í. Âñå íàðàáîòêè ñ ýòîãî ôîðóìà.
×òî äîïèñàòü â êîäå, ÷òîáû óâèäåòü, ÷åìó ðàâåí distName?
È åù¸. Çíàê ëþáîãî ñèìâîëà êàêîé â äàííîì ñëó÷àå? Íàïðèìåð ïîïûòàëñÿ ñäåëàòü òàê è íå ïðîêàòèëî:
@distName='MRBTS-605775/TNLSVC-1/TNL-1/IPNO-1/IPIF-
*/IPADDRESSV4-1']/p[@name='localIpAddr']
Äóìàþ âîïðîñ ìîé íà ïîâåðõíîñòè ëåæèò. Ñïàñèáî.
| + |
Private Sub Êíîïêà73_Click()
Dim strFileName As String, strNumBS As String, strSBTS As String
Dim objXmlDoc As Object ' MSXML2.DOMDocument
Dim objXmlSingleNode As Object 'MSXML2.IXMLDOMNode
Dim objXmlChildNode As Object 'MSXML2.IXMLDOMNode
Dim OAMIP$, DN$
On Error GoTo HandleErrors
strFileName = "c:test\test.XML"
If Len(strFileName) = 0 Then Exit Sub
If Len(Dir$(strFileName)) = 0 Then Exit Sub
'strNumBS = Split(Dir$(strFileName), "_")(2)
Set objXmlDoc = CreateObject("MSXML2.DOMDocument")
With objXmlDoc
.async = False
If Not .Load(strFileName) Then
MsgBox "Oops!!", vbCritical
GoTo ExitHere
End If
Set objXmlSingleNode = .selectSingleNode("/raml/cmData/managedObject")
End With
If Not objXmlSingleNode Is Nothing Then
With objXmlSingleNode
Debug.Print .Attributes.getNamedItem("distName").Text
Debug.Print .selectSingleNode("p[@name='btsName']").Text
DN = .Attributes.getNamedItem("distName").Text
End With
End If
' ïîëó÷èì IP àäðåñà
strNodes = "/raml/cmData/managedObject[@class='com.nokia.srbts.tnl:IPADDRESSV4']/p[@name='localIpAddr']"
'strNodes = "/raml/cmData/managedObject[@distName='MRBTS-605775/TNLSVC-1/TNL-1/IPNO-1/IPIF-1/IPADDRESSV4-1']/p[@name='localIpAddr']"
For Each objXmlSingleNode In objXmlDoc.selectNodes(strNodes)
OAMIP = objXmlSingleNode.Text
Debug.Print "OAMIP = " & OAMIP
Next
ExitHere:
Set objXmlDoc = Nothing
Exit Sub
HandleErrors:
Debug.Print Err.Number; vbTab; Err.description
Resume ExitHere
End Sub
|
https://www.sql.ru/forum/1308885/snova-xml-parsing-malenkiy-vopros
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-