如何获取节点及其子节点使用节点的名称和特定的属性值?
问题描述:
注:我处理XML文件,我不知道提前它们的结构,所以我不能使用XPath
这里是我的XML文件的例子:如何获取节点及其子节点使用节点的名称和特定的属性值?
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<HWData>
<Header time="2013-05-29T13:39:34" uploaded="true" version="1.0" />
<NE vendorName="Nokia Siemens Networks" NEId="WBTS-431">
<EQHO vendorName="Nokia Siemens Networks" equipmentHolderId="173" >
<UNIT vendorName="N" unitId="16" />
<UNIT vendorName="NOKIA SIEMENS NETWORKS" unitId="225" />
</EQHO>
<EQHO vendorName="NSN" equipmentHolderId="40192" >
<UNIT vendorName="AR" unitId="40267" />
</EQHO>
</NE>
<NE vendorName="Nokia Siemens Networks" NEId="WBTS-261">
<EQHO vendorName="Nokia Siemens Networks" equipmentHolderId="132" >
<EQHO vendorName="Nokia Siemens Networks" equipmentHolderId="132-1">
<UNIT vendorName="NN" unitId="1621" />
</EQHO>
</EQHO>
</NE>
</HWData>
我想知道我是否可以使用例如节点名称“NE”和属性值NEID =“WBTS-261”作为结果的洞!
结果预计:
<NE vendorName="Nokia Siemens Networks" NEId="WBTS-261">
<EQHO vendorName="Nokia Siemens Networks" equipmentHolderId="132" >
<EQHO vendorName="Nokia Siemens Networks" equipmentHolderId="132-1">
<UNIT vendorName="NN" unitId="1621" />
</EQHO>
</EQHO>
</NE>
有人可以把我放在正确的方式做到这一点的任何例子,想法或建议将感激.. 谢谢
EQHO的MOID是所有情况下UNIT子元素的MOID的前缀(在您的xml示例中)。这是不是真的?当总是真实的时候,找到所有EQHO元素然后列出他们的孩子就足够了。当不总是真时,那么对于UNIT MOID-s需要父母MOID前缀检查。这是要完成的任务吗? –