gpt4 book ai didi

java - 使用属性获取元素

转载 作者:数据小太阳 更新时间:2023-10-29 02:19:51 25 4
gpt4 key购买 nike

我正在使用 Java 解析 Xml,我想借助属性值来解析元素。

例如<tag1 att="recent">Data</tag1>

在此我想使用 att 值解析 tag1 数据。我是 java 和 xml 的新手。请指导我。

最佳答案

有很多方法可以做到这一点。您可以使用 xPath ( example )、DOM 文档或 SAX 解析器 ( example ) 来检索属性值和标记元素。

相关问题如下:


这是您所要求的解决方法。我绝不会建议那种类型的“hack”,而是使用 SAX(参见示例链接)。

public static Element getElementByAttributeValue(Node rootElement, String attributeValue) {

if (rootElement != null && rootElement.hasChildNodes()) {
NodeList nodeList = rootElement.getChildNodes();

for (int i = 0; i < nodeList.getLength(); i++) {
Node subNode = nodeList.item(i);

if (subNode.hasAttributes()) {
NamedNodeMap nnm = subNode.getAttributes();

for (int j = 0; j < nnm.getLength(); j++) {
Node attrNode = nnm.item(j);

if (attrNode.getNodeType == Node.ATTRIBUTE_NODE) {
Attr attribute = (Attr) attrNode;

if (attributeValue.equals(attribute.getValue()) {
return (Element)subNode;
} else {
return getElementByAttributeValue(subNode, attributeValue);
}
}
}
}
}
}

return null;
}

PS: 未提供代码注释。它作为练习提供给读者。 :)

关于java - 使用属性获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6093121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com