阅读量:109
在XML处理中,StringReader类可以用来读取XML字符串并将其转换为XML节点或文档对象,以便进行进一步的处理和操作。以下是StringReader类在XML处理中的一些常见应用:
- 将XML字符串加载到XmlDocument对象中:
string xmlString = "value ";
XmlDocument doc = new XmlDocument();
using (StringReader stringReader = new StringReader(xmlString))
{
using (XmlReader xmlReader = XmlReader.Create(stringReader))
{
doc.Load(xmlReader);
}
}
- 遍历XML节点并获取节点的属性和值:
string xmlString = "content ";
using (StringReader stringReader = new StringReader(xmlString))
{
using (XmlReader xmlReader = XmlReader.Create(stringReader))
{
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element)
{
if (xmlReader.HasAttributes)
{
string attributeValue = xmlReader.GetAttribute("attribute");
Console.WriteLine(attributeValue);
}
}
else if (xmlReader.NodeType == XmlNodeType.Text)
{
string nodeValue = xmlReader.Value;
Console.WriteLine(nodeValue);
}
}
}
}
- 使用XPath表达式查询XML节点:
string xmlString = "content ";
using (StringReader stringReader = new StringReader(xmlString))
{
using (XmlReader xmlReader = XmlReader.Create(stringReader))
{
XPathDocument xpathDoc = new XPathDocument(xmlReader);
XPathNavigator navigator = xpathDoc.CreateNavigator();
XPathNodeIterator iterator = navigator.Select("//child");
while (iterator.MoveNext())
{
string nodeValue = iterator.Current.Value;
Console.WriteLine(nodeValue);
}
}
}
总的来说,StringReader类在XML处理中可以帮助我们方便地将XML字符串转换为XML节点或文档对象,并进行各种操作和查询。