[英]Update Attributes of Child Node XML DOM Java
我试图弄清楚如何在XML结构的深处更新XML节点的多个属性。 我正在将Java与XML DOM类一起使用。 考虑以下XML结构:
<foo>
<books>
<book id="ABC" source="blah">
<page id="01" language="english" value="fun"/>
<page id="02" language="english" value="stuff"/>
<page id="03" language="english" value="ant"/>
</book>
<book id="123" source="blah33">
<page id="01" language="english" value="stuff"/>
<page id="02" language="english" value="fun"/>
<page id="03" language="english" value="yo"/>
</book>
.......
</books>
</foo>
因此,我在Book ABC
下的Id 02
页上,我想将值更新为一组新的文本。 问题是我要遍历一个主书列表,并相应地更新此单独的XML DOM。 因此,在这一点上,我有一个子Node对象,它无法设置属性值。 它仅具有可用的setNodeValue()
方法。
我在这里想念什么? 所讨论的XML结构更大,更复杂,但是上面的示例说明了子关系以及需要更新的地方。
救命! 提前致谢
.....
String masterColumnName = masterColumnNode.getAttributes().getNamedItem("name").getNodeValue();
for (int j = 0; j < customerColumnList.getLength(); j++){
Node customerColumnNode = customerColumnList.item(j);
String customerColumnName = customerColumnNode.getAttributes().getNamedItem("name").getNodeValue();
// Check for Match
if (masterColumnName.equals(customerColumnName)){
// Get Master & Customer Attributes
NamedNodeMap masterColumnAttr = masterColumnNode.getAttributes();
NamedNodeMap customerColumnAttr = customerColumnNode.getAttributes();
customerColumnNode.<NO WAY TO DO> = masterColumnAttr.getNamedItem("function").getNodeValue();
......
好吧...。我知道了。 :)就像这样简单:
customerColumnAttr.getNamedItem("function").setTextContent(masterFunction);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.