Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 用于按值更新元素的xpath查询_Xml_Xpath - Fatal编程技术网

Xml 用于按值更新元素的xpath查询

Xml 用于按值更新元素的xpath查询,xml,xpath,Xml,Xpath,我尝试使用XPath查询按值访问元素,以便稍后更新其值,尽管XML文件很简单,但未能找到正确的查询 例如: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <row> <OBJECTID>1</OBJECTID> <TABLE_P

我尝试使用XPath查询按值访问元素,以便稍后更新其值,尽管XML文件很简单,但未能找到正确的查询

例如:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
    <OBJECTID>1</OBJECTID>
    <TABLE_PK>IN</TABLE_PK>
    <FIELD_PK>AC_TR_OID</FIELD_PK>
    <TABLE_FK></TABLE_FK>
  </row>
  <row>
    <OBJECTID>2</OBJECTID>
    <TABLE_PK>ARQUETAP</TABLE_PK>
    <FIELD_PK>ARP_AR_OID</FIELD_PK>
    <TABLE_FK>ARQ</TABLE_FK>
  </row>
  <row>
    <OBJECTID>3</OBJECTID>
    <TABLE_PK>ACOMRUR</TABLE_PK>
    <FIELD_PK>ACR_TR_OID</FIELD_PK>
    <TABLE_FK>PASS</TABLE_FK>
  </row>
  <row>
    <OBJECTID>4</OBJECTID>
    <TABLE_PK>ACOMRUR</TABLE_PK>
    <FIELD_PK>ACR_RA_OID</FIELD_PK>
    <TABLE_FK>WRANCH</TABLE_FK>
  </row>
  <row>
    <OBJECTID>5</OBJECTID>
    <TABLE_PK>ACTUATION</TABLE_PK>
    <FIELD_PK>ACT_ACTUATIONP_OID</FIELD_PK>
    <TABLE_FK>ACTUATIONP</TABLE_FK>
  </row>
</root>

1.
在里面
交流变压器
2.
阿奎塔普
ARP_-AR_-OID
ARQ
3.
阿科姆鲁尔
ACR_TR_OID
通过
4.
阿科姆鲁尔
ACR_RA_OID
绞
5.
驱动
动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作动作
促动
我只想一个接一个地获取访问元素,例如: 使用新值更新表_PK元素ACOMRUR第3行,以替换ACOMRUR, /根/行[3]/OBJETID[text()='ACOMRUR'] /根/行/表主键[text()='ACOMRUR']

我还测试了更复杂的查询、嵌套的逻辑运算符,但什么都没有。 如有任何建议,我将不胜感激
谢谢,

我不确定您想要什么,但您可以使用以下xpath:

/root/row/*


这将返回
元素中所有
的所有直接子元素。

我不确定您想要什么,但您可以使用以下xpath:

/root/row/*

这将返回
根元素中所有
行的所有直接子元素。

/root/row[3]/OBJETID[text()='ACOMRUR']/root/row/TABLE\u PK[text()='ACOMRUR']您可能需要提供
http://www.w3.org/2001/XMLSchema-instance
namespace./root/row[3]/OBJETID[text()='ACOMRUR']/root/row/TABLE\u PK[text()='ACOMRUR']您可能需要提供
http://www.w3.org/2001/XMLSchema-instance
名称空间。