Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
使用asp.net从XMLDocument中选择节点_.net_Xml_Vb.net_Xpath - Fatal编程技术网

使用asp.net从XMLDocument中选择节点

使用asp.net从XMLDocument中选择节点,.net,xml,vb.net,xpath,.net,Xml,Vb.net,Xpath,我有以下xml: <TextWithNodes><Node id="0" />astralis<Node id="8" /> <Node id="9" />ltd<Node id="12" /> <Node id="14" />{<Node id="15" />DOCUMENT<Node id="23" />}<Node id="24" /> <Node id="25" />{

我有以下xml:

<TextWithNodes><Node id="0" />astralis<Node id="8" /> <Node id="9" />ltd<Node id="12" />
<Node id="14" />{<Node id="15" />DOCUMENT<Node id="23" />}<Node id="24" /> <Node id="25" />{<Node id="26" />TYPE<Node id="30" />}<Node id="31" />EX-<Node id="34" />10<Node id="36" />.<Node id="37" />12<Node id="39" /> <Node id="40" />{<Node id="41" />SEQUENCE<Node id="49" />}<Node id="50" />3<Node id="51" /> <Node id="52" />{<Node id="53" />FILENAME<Node id="61" />}<Node id="62" />e<Node id="63" />300201<Node id="69" />_<Node id="70" />ex<Node id="72" />10<Node id="74" />-<Node id="75" />12<Node id="77" />.<Node id="78" />txt<Node id="81" /> </TextWithNodes>
astralis有限公司 {DOCUMENT}{TYPE}EX-10.12{SEQUENCE}3{FILENAME}e300201_ex10-12.txt 我需要从ID25到ID75中选择节点。它是XML的一部分。原始XML非常长。没有XPath怎么做

Dim nodeList As XmlNodeList = xmlDoc.SelectNodes("//Node[@id >" & 25 & " and @id <" & 75 & "]")

Dim sb As StringBuilder = New StringBuilder

For Each childNode As XmlNode In nodeList
    sb.Append(childNode.InnerText)
Next

Dim nodeList作为XmlNodeList=xmlDoc.SelectNodes(//Node[@id>“&25&”和@id[注释太长,所以…]

重新格式化XML的开头:

<TextWithNodes>
  <Node id="0" />
  astralis<Node id="8" />
  <Node id="9" />
  ltd
  <Node id="12" />
  < Node id="14" />
  {
  <Node id="15" />
  DOCUMENT
  <Node id="23" />
  }
  <Node id="24" />
  <Node id="25" />
  {
  <Node id="26" />
  TYPE
  <Node id="30" />

它利用空节点集为false:在
id=“25”
之前的节点将有一个空的
前面的同级节点:…
节点集,类似地,对于
id=“75”

之后的节点,XML是.NET而不仅仅是ASP.NET,因此重新标记。这些id之间只有节点元素我需要这些节点元素之间的文本,如Itd{ TYPE@DotnetSparrow:这两个注释相互矛盾。请精确。我需要Id>25且小于的节点元素之间的文本75@DotnetSparrow:好的,有答案。
/TextWithNodes/node()[preceding-sibling::Node[@id=25] and following-sibling::Node[@id=75]]