間のテキスト取得し、我々はXMLのノード間でテキストを取得できますかXMLNodeの
<company>
<data id="14" />{<data id="15" />DOCUMENT<data id="23" />pet<data id="24" />DOCUMENT<data id="25" />
</company>
私はXMLDOCでこのXMLをロードしたID 23および25(すなわちペット文書)
の間でデータを必要とする
示唆してください
間のテキスト取得し、我々はXMLのノード間でテキストを取得できますかXMLNodeの
<company>
<data id="14" />{<data id="15" />DOCUMENT<data id="23" />pet<data id="24" />DOCUMENT<data id="25" />
</company>
私はXMLDOCでこのXMLをロードしたID 23および25(すなわちペット文書)
の間でデータを必要とする
示唆してください
ですべてのテキストを取得することができますLINQは:
XDocument doc = XDocument.Parse(@"<company>...</company");
string result = string.Join(" ",
doc.Root
.Nodes()
.SkipWhile(n => n.NodeType != XmlNodeType.Element ||
(int)((XElement)n).Attribute("id") != 23)
.TakeWhile(n => n.NodeType != XmlNodeType.Element ||
(int)((XElement)n).Attribute("id") != 25)
.OfType<XText>());
// result == "pet DOCUMENT"
Dim tDoc as XmlDocument = new XmlDocument
Dim tNodes As XmlNodeList = Nothing
tDoc.Load(path_to_xml_file) ' Or .LoadXml(xml_string)
tNodes = tDoc.SelectNodes("//data")
For Each tNode As XmlNode In tNodes
Select Case tNode.Attributes("id").value
Case 23, 24, 25
' Do your processing here
End Select
Next
EDIT 私は上記のXMLを誤解しました。とにかく...私は、特定のノードIDの間のテキストを取得する方法について知らない..しかし、あなたはあなたが使用することができますtDoc.SelectSingleNode("//company").InnerText
私は間のテキストを必要としますこれらのノード。どうすればテキストを入手できますか? – DotnetSparrow
XDocument doc = XDocument.Parse(@"<company>...</company");
string result = string.Join(" ",
doc.Root
.Nodes()
.SkipWhile(n => n.NodeType != XmlNodeType.Element ||
(int)((XElement)n).Attribute("id") != 23)
.TakeWhile(n => n.NodeType != XmlNodeType.Element ||
(int)((XElement)n).Attribute("id") != 25)
.OfType<XText>());
どの部分がテキストを取得していますか? – DotnetSparrow