我有以下Xml文件内容,我正在尝试获取<text>
&amp;的值<content .. />
标记仅位于标记<navmap> ... </navmap>
内。
我正在使用nameSpace XmlDocument()
using Windows.Data.Xml.Dom;
我之前曾与XmlDocument()
合作,但这种类型的XMl内容完全不同,我不知道我必须在标签中使用哪个属性用于Tag值。
<docTitle>
<text>XXXXXXX</text>
</docTitle>
<navMap>
<navPoint id="navpoint-1" playOrder="1">
<navLabel>
<text>Title Page</text>
</navLabel>
<content src="000.html" />
</navPoint>
<navPoint id="navpoint-2" playOrder="2">
<navLabel>
<text>Main Text</text>
</navLabel>
<content src="01M.html" />
</navPoint>
</navMap>
我正在使用c#使用Windows应用商店应用 我试过这个..
using Windows.Data.Xml.Dom;
---------------
---------------
---------------
StorageFile tocFile = await finalfolder.GetFileAsync(tocFileValue);
string fileContents1 = await FileIO.ReadTextAsync(tocFile);
string encodedContent1 = fileContents1.Replace(" ", " ");
tocDocument.LoadXml(encodedContent1,loadSettings1);
XmlNodeList tocNodeList = tocDocument.GetElementsByTagName("navMap");
foreach (XmlElement Element in tocNodeList)
{
//Element is showing as null..
}
谁熟悉nameSpace的XmlDocument()
using Windows.Data.Xml.Dom;
给我建议。
谢谢
答案 0 :(得分:1)
你可以这样做......
XmlDocument xml = new XmlDocument();
xml.LoadXml(urXml);
XmlNodeList textlist = xml.GetElementsByTagName("text");
XmlNodeList contentList = xml.GetElementsByTagName("content");
for (int i = 0; i < textlist.Count; i++)
{
string s1 = textlist[i].InnerText; //
}
for (int j = 0; j < contentList.Count; j++)
{
string s2 = contentList[j].InnerText;
}
你可以通过这个来获取文本..字符串只是为了显示你可以得到内部文本..如果你想存储文本标签下的所有值...使用列表和添加他们的内部文本< /强>
如: -
for (int i = 0; i < textlist.Count; i++)
{
if(i==0)
List<string> str=new list<string>();
str.Add(textlist[i].InnerText);
}
与内容标签相同的情况..
希望这有助于......:)
答案 1 :(得分:1)
使用XmlDocument,您可以执行以下操作...
XmlNodeList xnList = xd.SelectNodes("navMap/navPoint"); //xd being your xmldocument. returns all "navPoint" nodes under navMap and navMap is your root node
foreach (XmlNode node in xnList)
{
string retText = node["navLabel"]["text"].InnerText; // navLabel/text
string retContentAtt = node["content"].Attributes["src"].Value; // navPoint/content src="
}
我认为这就是你要找的东西。希望它有所帮助