java - 如何在 Android 中使用 XPath 编辑属性

标签 java android xml xpath

我想使用 XPath 搜索 task_status在寻找 uuid 时。

这是我的 XML文件:

    <?xml version="1.0" encoding="utf-8"?>
<Test1>
<typ>task</typ>
  <datestamp>20150602153306</datestamp>
  <datecreate>20150602153306</datecreate>
<task uuid="92F7F685-C370-4E55-9026-020E3CDCEDE0" status="0">
    <task_headline>TEST2000</task_headline>
    <task_subject>There is a Problem.</task_subject>
    <task_action>Solve it!</task_action>
    <task_priority color="#E62C29">high</task_priority>
    <task_status>200</task_status>
    <task_note></task_note>
</task>
<task uuid="AWFWF-C510-4E52-9026-020E3BFDDSG" status="0">
    <task_headline>TEST3000</task_headline>
    <task_subject>Another Problem</task_subject>
    <task_action>Solve it again.</task_action>
    <task_priority color="#E62C29">high</task_priority>
    <task_status>200</task_status>
</task>
</Test1>

我要的是:搜索uuid=AWFWF-C510-4E52-9026-020E3BFDDSG并设置状态 = 1000。 两者都是属性

    XPathFactory xPathFactory = XPathFactory.newInstance();
                        XPath xPath = xPathFactory.newXPath();
                        String xpathexpression = "//task[@uuid=\"" + taskItems.get(position).get(task_uuid) + "]";
XPathExpression expression = xPath.compile(xpathexpression);
                        NodeList nl = (NodeList) expression.evaluate(doc, XPathConstants.NODESET);

不是吗? 我从 ArrayList<HashMap<String,String>> 得到 uuid . 也许我在添加来自 taskItems 的 uuid 时在表达式中犯了一个错误.

解决问题后,如何将状态更改为 1000?

最佳答案

看起来你在这里漏掉了结束双引号:

String xpathexpression = "//task[@uuid=\"" + taskItems.get(position).get(task_uuid) + "\"]";

如果您改用单引号,它的可读性可能会稍微好一些:

String xpathexpression = "//task[@uuid='" + taskItems.get(position).get(task_uuid) + "']";

关于java - 如何在 Android 中使用 XPath 编辑属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32066025/

相关文章:

java - 现有 REST API 的 Swagger 实现

java - Spring:同一类的多个 Controller 实例

java - 实现 Firebase (Flutter) 通知时,我收到错误

java - 后退按钮退出应用程序而不是返回到 MainActivity

php - XMLReader 是 SAX 解析器、DOM 解析器,还是两者都不是?

java - 如何在 JBoss 7 中设置 EJB 方法的默认角色?

Java 8 如何从两个集合中过滤不同的实体?

android - 解析检索匹配多个不同值的数据

android - 打开其中之一后,通知中心中的通知消失

php - 用php解析XML并保存到mysql