我想在Java中获取Element的标记类型。 例如,对于XML
<xml>
<item>
<content></content>
</item>
</xml>
如果我想查找类型&#34; item&#34;的第一个标记,我需要一些方法来查找指定类型的所有标记。
有办法做到这一点吗?
答案 0 :(得分:2)
有许多方法可以动态制作XML:
示例:
public static final void writeMapXml(Map val, String name, XmlSerializer out)
throws XmlPullParserException, java.io.IOException
{
if (val == null) {
out.startTag(null, "TextView");
out.endTag(null, "TextView");
return;
}
Set s = val.entrySet();
Iterator i = s.iterator();
out.startTag(null, "TextView");
if (name != null) {
out.attribute(null, "name", "TextView");
}
out.endTag(null, "TextView");
}
示例:
Editable string= string.append("<Type> " + VALUE
+ " </Type>" + "<Text>"
+ VALUE + "</Text>"+ "<Field>"
+ VALUE + "</Field>" );
我实际上已经实现了这两种方法,第二种方法更容易并且使用更少的代码行。
参考:link
答案 1 :(得分:0)
最简单的方法是XPath。
由于您需要根<item>
标记下的<xml>
标记,因此您需要的表达式为xml/item
。
在Android中,执行此操作的方法是: 首先,获取一个XPath实例:
XPath xpath = XPathFactory.newInstance().newXPath();
接下来,抓住InputSource
。检查链接以了解不同的方法。
接下来,使用它来查找节点:
NodeList nodes = (NodeList) xpath.evaluate("xml/item", inputSource, XPathConstants.NODESET);
现在,NodeList
包含您的<item>
元素。