【问题标题】:Xml parsing in Android, Null exceptionAndroid中的Xml解析,Null异常
【发布时间】:2012-10-09 00:32:57
【问题描述】:

我有一个这样的 xml

<Quiz>
<Inhalt Frage="test" number="1" />
<Inhalt Frage ="test2" number=2"/> 
</Quiz>

现在,在 android 中,我想以这种方式解析这个 xml,结果显示我的内容 数字 2 的“Frage”。我试图以这种方式解析它,但我总是得到一个 nullexception 错误:

XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr= xpath.compile("//Frage[@number=2]/text()");

Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
einga= nodes.item(0).getNodeName();

如果有人可以帮助我,那就太好了。 谢谢你:-)

【问题讨论】:

  • 您正在尝试从节点 Frage 中选择属性编号为 2 的文本。您熟悉 Xpath 表达式吗?试试这个链接:w3schools.com/xpath/xpath_syntax.asp 试试:"/Quiz/Inhalt[@number=2]@Frage" 你会得到 test2
  • 谢谢,但是当我尝试这个时,我得到了错误:额外的非法令牌'@','Frage'
  • 它是这样工作的:XPathExpression expr= xpath.compile("//Inhalt[@nummer='2']/@Frage");
  • 对...在@Stephane 的建议中,@ 之前缺少一个/。关于学习 XPath:请不要使用 w3schools,除非您希望以后必须忘记他们的错误。 (见w3fools.com)改为尝试zvon.org/xxl/XPathTutorial/General/examples.html
  • @StephaneMathis,你能把你的评论变成答案吗?然后,这个问题将不再被归类为“未回答”,如果他愿意,Basem 可以“接受”你的回答。 (而且你可能会得到更多的代表。)

标签: android xpath xml-parsing


【解决方案1】:

您正在尝试从节点 Frage 中选择属性编号为 2 的文本。您熟悉 Xpath 表达式吗?试试这个链接:http://w3schools.com/xpath/xpath_syntax.asp

试试:"//Inhalt[@number='2']/@Frage"。你会得到test2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    相关资源
    最近更新 更多