[英]Read data from XML file in Windows Phone 8.1
伙计们! 我正在开发Windows Phone 8.1应用程序,我想从XML文件中读取一些内容。 我知道如何从这样的结构读取数据
<strings>
<string01>Some text.</string01>
<string02>Another text.</string02>
</strings>
用字符串声明一个类
public class TextStrings {
public string string01 { get; set; }
public string string02 { get; set; }
}
并像这样使用XmlSerializer
XmlSerializer deserializer = new XmlSerializer(typeof(TextStrings), new XmlRootAttribute("strings"));
string filename = "TextData.xml";
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///" + filename));
TextReader reader = new StreamReader(await file.OpenStreamForReadAsync());
object obj = deserializer.Deserialize(reader);
TextStrings xmlData = (TextStrings)obj;
然后将文本插入到TextBlock写作中
txtBlock.Text = xmlData.string01;
现在,我选择具有此结构的XML文件
<header>
<book name="Book 01" chapters="10">
<chapter n="1">
<verse n="1">Some text.</verse>
<verse n="2">More text.</verse>
...
</chapter>
...
</book>
...
</header>
因此,例如,我想在TextBlock中插入Book 01第1章的第2节。 我如何像以前一样使用XmlSerializer做到这一点? 还是有另一种方法? 因为标签是相同的,并且具有以下属性-“ n”,“ book”,“ chapters”。
你会写一些代码吗? 由于我仍在学习所有这些内容,因此如果不查看代码本身就很难理解。 谢谢!
得到它了:
XmlDocument doc = new XmlDocument();
doc.LoadXml(XDocument.Load("XMLFile.xml").ToString());
IXmlNode mynode = doc.SelectSingleNode("/header/book[@name='Book 01']/chapter[@n='1']/verse[@n='2']");
string mytext = mynode.InnerText;
MyTextBlock.Text = mytext;
完美的作品!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.