我有一个具有不同根节点的 xml 文件。xml 是动态创建的(动态)。
我想找出根标签。IE
*) ns:workflowInvoked
*) ns:invokingService
*)ns:sendingResult
对于每个 xml 块。
这是示例 xml 块的一部分。我只粘贴了三块。我有更多带有不同根标记的 xml 块。我的意思是根标签
*)ns:workflowInvoked *) ns:invokingService *) ns:sendingResult
我需要解析它们。
<ns:workflowInvoked
xmlns:ns="http://xxxxx/schemas/wft/2011/08"
infoModelVersion="2.6">
<ns:notificationSource
ns:serviceID="Workflow1_cbc2c80b_511c_4a5b_9f88_fa789378296b"
ns:experimentID="Workflow1_cbc2c80b-511c-4a5b-9f88-fa789378296b" />
<ns:timestamp>2013-07-26T23:45:37.654+05:30</ns:timestamp>
<ns:description>echo=hi vija</ns:description><ns:annotation />
<ns:initiator ns:serviceID="Workflow1_cbc2c80b_511c_4a5b_9f88_fa789378296b" />
</ns:workflowInvoked>
<ns:invokingService xmlns:ns="http://xxxxxx/schemas/wft/2011/08" infoModelVersion="2.6"><ns:notificationSource ns:serviceID="Workflow1_904264c9_1e41_419b_afa3_409b040dc472" ns:experimentID="Workflow1_904264c9-1e41-419b-afa3-409b040dc472" /><ns:timestamp>2013-07-23T03:21:44.295+05:30</ns:timestamp><ns:description>echo=nice work</ns:description><ns:annotation /><ns:request><ns:body><n1:greet xmlns:n1="http://samples.airavata.apache.org"><n1:echo>nice work</n1:echo></n1:greet></ns:body></ns:request><ns:receiver ns:serviceID="SimpleMathServicePortType_greet" ns:workflowID="Workflow1_904264c9_1e41_419b_afa3_409b040dc472" ns:workflowTimestep="0" ns:workflowNodeID="SimpleMathServicePortType_greet" />
</ns:invokingService>
<ns:sendingResult xmlns:ns="http://xxxxxx/schemas/wft/2011/08" infoModelVersion="2.6"><ns:notificationSource ns:serviceID="Workflow1_904264c9_1e41_419b_afa3_409b040dc472" ns:experimentID="Workflow1_904264c9-1e41-419b-afa3-409b040dc472" /><ns:timestamp>2013-07-23T03:21:49.041+05:30</ns:timestamp><ns:description /><ns:annotation /><ns:receiver ns:serviceID="Workflow1_904264c9_1e41_419b_afa3_409b040dc472" />
</ns:sendingResult>
我尝试过的事情
如果 $xml 有一次我尝试使用上述 xml 之一
console.log($xml.find("*").eq(0)[0].nodeName);
但这给了我 o/p 作为
* ns:notificationSource *
所以我尝试了
console.log($xml.find("*").eq(0).nodeName);
and
console.log($xml.find("*").nodeName);
他们抛出 o/p 为
*未定义 * .
o/p 我想要的是
我想打印根标签。
*) ns:workflowInvoked
*) ns:invokingService
*)ns:sendingResult
有人可以指出我正在犯的错误。看来我的代码是正确的。