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

XML按名称读取字段

潘文乐
2023-03-14

嗨,我必须读取一个xml文件,在代码的一部分中有一些字段标签,名称如示例中所述

       <Fields>
        <Field Name="JobId"><![CDATA[7096c681-3165-4137-95a3-4ae873af2132]]></Field>
        <Field Name="isDeleted"><![CDATA[0]]></Field>
        <Field Name="TopicId"><![CDATA[5870811]]></Field>
        <Field Name="Type"><![CDATA[Document]]></Field>
        <Field Name="CustomerId"><![CDATA[8063]]></Field>
        <Field Name="DocumentType"><![CDATA[volopress_pdf]]></Field>
        <Field Name="Inserted"><![CDATA[2021-01-02 08:47:51]]></Field>
        <Field Name="pageNumber"><![CDATA[17]]></Field>
        <Field Name="Position"><![CDATA[1]]></Field>
        <Field Name="TAG_Source"><![CDATA[Cronache di Napoli]]></Field>
        <Field Name="link_pdf"><![CDATA[http://www.pippo.com]]></Field>
        <Field Name="TAG_Topic"><![CDATA[Terremoti]]></Field>
        <Field Name="isValidSnippet"><![CDATA[True]]></Field>
      </Fields>

我只想读取名为“link\u pdf”的字段

如果我用这个密码

$alink = $rassegna->Fields->Field[23];

我可以读取值,但在某些情况下这不是一个好的工作,如何通过字段名访问值?

$alink = $rassegna->Fields->Field['link_export'];

不是工作

共有1个答案

臧欣怿
2023-03-14

使用XPath选择字段,并将谓词应用于名称属性值为“link\u export”的字段:

$xml = new SimpleXMLElement($string);
$result = $xml->xpath('/Fields/Field[@Name="link_export"]');
while(list( , $node) = each($result)) {
  echo '/Fields/Field[@Name="link_export"]: ',$node,"\n";
}
 类似资料:
  • 问题内容: 我的问题是: 当其他元素与父元素的“孙子元素”同名时,如何直接在特定父元素下获取元素。 我正在使用Java DOM库解析XML 元素,但遇到了麻烦。下面是 一些 我使用的XML(可一小部分): 如您所见,可以在两个位置放置元素。分组或外部分组。我真的希望它采用这种结构,因为它更加用户友好。 现在,每当我调用它时,它就会为我提供所有元素,包括该元素下的元素。我对这些文件的处理方式不同,因

  • 现在,我有两个名称为和名称为的cookie。 我想让这个getter只从义务cookie中获取值。 我该怎么做?因此将数据拆分为单独的值并将其放入数组中。

  • 问题内容: 在Java中能否从实际字段中获取字符串中的字段名称?喜欢: PS:我 不是 在寻找字段的类/类名,也不是从String中的名称获取Field。 编辑:当我查看它时,我可能不需要一种获取字段名称的方法,该Field实例(来自字段的“代码名称”)就足够了。[例如] Java本身可能没有想要的东西。我将看一下ASM库,但最后我可能最终会使用字符串作为字段的标识符:/ EDIT2:我的英语不好

  • 问题内容: 我有一个多线程应用程序,并且通过属性为每个线程分配了唯一的名称。现在,我希望功能可以使用相应的名称直接访问线程。 类似于以下功能的东西: 上面的函数检查所有正在运行的线程,然后从正在运行的线程集中返回所需的线程。也许我想要的线程被中断了,那么上面的功能将无法正常工作。关于如何整合该功能的任何想法? 问题答案: 您可以使用ThreadGroup查找所有 活动 线程: 获取当前线程的组 通

  • 问题内容: 是否可以查询MySQL数据库以按字母顺序获取表的列名?我知道 要么 会给我一个表中的列的列表(以及其他信息),但是可以更改查询以便按字母顺序对列进行排序。添加ORDER BY’Field’不起作用,它给出了语法错误。 问题答案: ANSI INFORMATION_SCHEMA表(在本例中为INFORMATION_SCHEMA.COLUMNS)在MySQL中提供了更大的灵活性:

  • 问题内容: 我搜寻了互联网,但找不到答案: 我正在使用for循环创建36个名为a1,a2等的按钮,并同时为每个按钮分配一个唯一的操作命令。 稍后,我想从actionPerformed(ActionEvent e)方法中获取按钮的名称。 我可以使ActionCommand非常容易,但是我也需要按钮的名称。 任何帮助,不胜感激! 编辑: 这是我正在使用的代码: 这为6x6网格提供了36个按钮,分别为a