Как я могу получить доступ к дочерним узлам?DOM XML - PullRequest
0 голосов
/ 15 февраля 2019

Как я могу получить значение / текст дочернего узла "description" и "made-at"?У меня это работало до года назад, но теперь я не могу заставить его работать снова.Пожалуйста, помогите.

    xmlPath := "C:\Script\doc.xml"
    xmlDoc := ComObjCreate("MSXML2.DOMDocument.6.0")
    xmlDoc.async := false
    xmlDoc.load(xmlPath)


    for item in xmlDoc.getElementsByTagName("ticket") {
        string := item.text
        stringDesc := item.getAttribute("description").text
        stringTime := item.getAttribute("created-at").text

        FileAppend, %string%, C:\Script\htmlversion.html
        FileAppend, %stringDesc%, C:\Script\htmlversion.html
        FileAppend, %stringTime%, C:\Script\htmlversion.html
    }




    XML:
    <ticket>
    <id type="integer">31</id>
    <description> This is some text I want to access. </description>
    <created-at type="dateTime">2018-02-14T11:27:52+01:00</created-at>
    </ticket>

Первый работает:

    string := item.text

Но не два других:

    stringDesc := item.getAttribute("description").text
    stringTime := item.getAttribute("created-at").text

1 Ответ

0 голосов
/ 15 февраля 2019

description и created-at не являются атрибутом в вашем примере.

Вы должны попробовать:

for item in xmlDoc.getElementsByTagName("ticket") {
    string := item.text
}

for item in xmlDoc.getElementsByTagName("description") {
    stringDesc := item.text
}

for item in xmlDoc.getElementsByTagName("created-at") {
    stringTime := item.text
}
...