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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 查找包含指定给多个元素的特定属性的文件数_Xml_Xpath - Fatal编程技术网

Xml 查找包含指定给多个元素的特定属性的文件数

Xml 查找包含指定给多个元素的特定属性的文件数,xml,xpath,Xml,Xpath,需要对包含的文件数进行计数 //SIGNOFF/ACCOMPBY@AUTH="M" //SIGNOFF/INSPBY@AUTH="I" 输入XML: <SIGNOFF ID="S0001"> <ACCOMPBY ID="JCAT0001" AUTH="M"/> <INSPBY ID="JCIT0001" AUTH="I"/> </SIGNOFF> 非常感谢你给我指出了正确的方向 你的问题不太清楚,但我试试看。假设输入文档更

需要对包含的文件数进行计数

//SIGNOFF/ACCOMPBY@AUTH="M" 
//SIGNOFF/INSPBY@AUTH="I"
输入XML:

 <SIGNOFF ID="S0001">
    <ACCOMPBY ID="JCAT0001" AUTH="M"/>
    <INSPBY ID="JCIT0001" AUTH="I"/>
 </SIGNOFF>

非常感谢你给我指出了正确的方向

你的问题不太清楚,但我试试看。假设输入文档更合理(在包含正面和负面示例的意义上更合理):

这将只产生一个结果,
签核
元素:

<SIGNOFF ID="YES">
  <ACCOMPBY ID="JCAT0001" AUTH="M"/>
  <INSPBY ID="JCIT0001" AUTH="I"/>
</SIGNOFF>


请解释
concat()
部分是关于什么的(顺便说一句,它只适用于XPath 2.0,因为它是一个轴步骤的函数)。您给出的表达式和示例非常有用!非常感谢您抽出时间……:)
<root>
<SIGNOFF ID="YES">
    <ACCOMPBY ID="JCAT0001" AUTH="M"/>
    <INSPBY ID="JCIT0001" AUTH="I"/>
 </SIGNOFF>
<SIGNOFF ID="NO">
    <ACCOMPBY ID="JCAT0001" AUTH="OTHER"/>
    <INSPBY ID="JCIT0001" AUTH="I"/>
</SIGNOFF>
<SIGNOFF ID="NO">
    <ACCOMPBY ID="JCAT0001" AUTH="M"/>
    <INSPBY ID="JCIT0001" AUTH="OTHER"/>
</SIGNOFF>
</root>
//SIGNOFF[ACCOMPBY/@AUTH = 'M' and INSPBY/@AUTH = 'I']
<SIGNOFF ID="YES">
  <ACCOMPBY ID="JCAT0001" AUTH="M"/>
  <INSPBY ID="JCIT0001" AUTH="I"/>
</SIGNOFF>