当前位置: 首页 > 知识库问答 >
问题:

通过“id”属性进行XPath搜索,提供NPE-Java

强化
2023-03-14

id=“root”

XML的一个示例

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<SiebelMessage MessageId="07f33fa0-2045-46fd-b88b-5634a3de9a0b" MessageType="Integration Object" IntObjectName="" IntObjectFormat="Siebel Hierarchical" ReturnCode="0" ErrorMessage="">
    <listOfReadAudit >
        <readAudit id="root">
            <recordId mapping="Record ID"></recordId>
            <userId mapping="User ID"></userId>
            <customerId mapping="Customer ID"></customerId>
            <lastUpd mapping="Last Updated"></lastUpd>
            <lastUpdBy mapping="Last Updated By"></lastUpdBy>
            <busComp mapping="Entity Name"></busComp>
        </readAudit>
    </listOfReadAudit>
</SiebelMessage>

代码

expr = xpath.compile("//SiebelMessage[@id='root']");
root = (Element) expr.evaluate(xmlDoc, XPathConstants.NODE);
Element temp = (Element) root.cloneNode(true);

//SiebelMessage[@id='root']

你知道我做错了什么吗?

共有1个答案

段超
2023-03-14

试试看:

//readAudit[@id='root']

这将选择id属性设置为root的所有readaudit元素(在您的情况下,它应该只有1个元素)。

您可以确保它最多返回1个元素,并使用以下命令:

//readAudit[@id='root'][1]
 类似资料:
  • 全部的 我有多个XML模板,我需要填充数据,以允许我的文档生成器类使用多个模板并正确插入数据 我通过添加一个属性来指定我希望类插入数据的节点: id=“根” XML的一个例子 密码 使用以下示例:XPath按属性值选择元素 表达式不起作用: //SiebelMessage[@id='root'] 知道我做错了什么吗?

  • 问题内容: 我有这个: 但是,我可以将id作为通配符搜索,因为可以是,等等。 问题答案: 您可以提供可调用的过滤器: 或@DSM指出 因为BeautifulSoup将识别RegExp对象并调用其方法。

  • 问题内容: 在哪里可以找到有关WDS的文档,特别是使用C#中的SQL查询来查询WDS?是否有任何资源列出可以从SystemIndex查询的列?另外,我希望查询返回“上下文”,即就像WDS客户端从找到搜索词的文档中的几行开始一样。尽管我相信3+的API是相同的,但我正在使用WDS 4.0。我检查了MSDN和其他站点,但是没有运气。 问题答案: 在MSDN论坛上发布并得到答案:可以搜索的列或属性:ht

  • 我有三个实体。(在本例中,我使用xxx作为占位符) 我已经用 然而,我能够做到: 只适用于它们各自存储库中的一个实体。当我试图为另外两个实体这样做时,我遇到了这个问题: “派生查询无效!找不到类型xxx的属性id!” 我能够运行它并得到正确的结果。但是为什么我得到了两个实体的这个错误,而不是另一个? 我以完全相同的方式设置实体和它们的存储库。唯一的区别是,在存储库不返回任何错误的实体中,我将该实体

  • 问题内容: 我的脚本来调用ajax 的HTML 问题: 在onkeyup上,我正在使用ajax来获取结果。一旦ajax结果延迟增加,对我来说就会发生问题。 例如, 当键入关键字时,我收到ajax结果,而当键入两次键之间的ajax时间延迟有时引起严重问题时,我收到ajax结果。 当我快速打字时。与相比,ajax搜索关键字的时间晚了。我不知道该如何处理这类案件。 结果由于ajax延迟 而快速键入关键字

  • 我确实在ElasticSearch中的字段中有一个数组数据,其中有一个关键字类型。我想用我想搜索的独占值搜索这个数组,即排除不包括在我的搜索关键字中的数组值。请看下面的细节。 谢了! 我有以下弹性搜索索引映射: 使用以下示例数据: 我的搜索是这样的: 我用过MatchQueryBuilder、TermQueryBuilder、TermsQueryBuilder都没用。根据ElasticSearch