所以我不确定这是否可能。但我想扫描 XML 文档以查找具有特定属性值的所有元素。
元素是什么或属性类型是什么都没关系......我只需要根据属性值找到它们。
例如,我正在寻找“鸭子”这个词
<person name="Fred" thing="duck"/>
<person name="Mary"/>
<animal name="duck" thing="swims"/>
第一个和第三个应该匹配,第二个不匹配。
有任何想法吗?
非常感谢。
所以我不确定这是否可能。但我想扫描 XML 文档以查找具有特定属性值的所有元素。
元素是什么或属性类型是什么都没关系......我只需要根据属性值找到它们。
例如,我正在寻找“鸭子”这个词
<person name="Fred" thing="duck"/>
<person name="Mary"/>
<animal name="duck" thing="swims"/>
第一个和第三个应该匹配,第二个不匹配。
有任何想法吗?
非常感谢。
我知道这个答案是事后的,但我认为它对其他人有用。有比上述方法更好的方法:
Elements ducks = doc.select("person[*=duck]");
这将返回仅包含值为“duck”的属性的元素。
jsoups 网站上有用的备忘单:http: //jsoup.org/apidocs/org/jsoup/select/Selector.html
如果使用选择器可以做到这一点,则不确定。但也许你可以尝试这样的事情:
final String input = "<person name=\"Fred\" thing=\"duck\"/>"
+ "<person name=\"Mary\"/>"
+ "<animal name=\"duck\" thing=\"swims\"/>";
Document doc = Jsoup.parse(input);
Elements withAttr = new Elements();
for( Element element : doc.getAllElements() )
{
for( Attribute attribute : element.attributes() )
{
if( attribute.getValue().equalsIgnoreCase("duck") )
{
withAttr.add(element);
}
}
}