C# 如何使用xml读取器获取innerXML属性值
我有一个类似的例子 如何检索具有给定ISBN的图书的“价格”和“标题”值?以下是一个示例:C# 如何使用xml读取器获取innerXML属性值,c#,xml,xmlreader,C#,Xml,Xmlreader,我有一个类似的例子 如何检索具有给定ISBN的图书的“价格”和“标题”值?以下是一个示例: class Program { static void Main() { var xml = @" <bookstore> <book genre='novel' ISBN='10-861003-324'> <title>The Handmaid's Tale&l
class Program
{
static void Main()
{
var xml =
@"
<bookstore>
<book genre='novel' ISBN='10-861003-324'>
<title>The Handmaid's Tale</title>
<price>19.95</price>
</book>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
<price>24.95</price>
</book>
</bookstore>
";
using (var reader = new StringReader(xml))
using (var xmlReader = XmlReader.Create(reader))
{
var bookFound = false;
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "book")
{
var isbn = xmlReader.GetAttribute("ISBN");
bookFound = isbn == "1-861001-57-5";
}
if (bookFound && xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "title")
{
Console.WriteLine("title: {0}", xmlReader.ReadElementContentAsString());
}
if (bookFound && xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "price")
{
Console.WriteLine("price: {0}", xmlReader.ReadElementContentAsString());
}
}
}
}
}
下面是一个例子:
class Program
{
static void Main()
{
var xml =
@"
<bookstore>
<book genre='novel' ISBN='10-861003-324'>
<title>The Handmaid's Tale</title>
<price>19.95</price>
</book>
<book genre='novel' ISBN='1-861001-57-5'>
<title>Pride And Prejudice</title>
<price>24.95</price>
</book>
</bookstore>
";
using (var reader = new StringReader(xml))
using (var xmlReader = XmlReader.Create(reader))
{
var bookFound = false;
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "book")
{
var isbn = xmlReader.GetAttribute("ISBN");
bookFound = isbn == "1-861001-57-5";
}
if (bookFound && xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "title")
{
Console.WriteLine("title: {0}", xmlReader.ReadElementContentAsString());
}
if (bookFound && xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "price")
{
Console.WriteLine("price: {0}", xmlReader.ReadElementContentAsString());
}
}
}
}
}
那么,价格和书名不是图书元素的属性吗?那么我怎样才能得到一个特定元素的价格和名称呢?@Relativity,你所说的
一个特定元素
是什么意思?就像给定ISBN的书的价格和书名一样?是的,我们如何获得具有特定ISBN的书的价格和书名?@相对论,我用一个例子更新了我的答案,说明了如何使用XmlReader实现这一点。下一次当你问问题时,请确保你提供了更多关于你所问问题和试图实现目标的细节。谢谢。那么…价格和书名不是书的属性,对吗?那么,价格和书名不是书元素的属性?那么我怎样才能得到一个特定元素的价格和名称呢?@Relativity,你所说的一个特定元素
是什么意思?就像给定ISBN的书的价格和书名一样?是的,我们如何获得具有特定ISBN的书的价格和书名?@相对论,我用一个例子更新了我的答案,说明了如何使用XmlReader实现这一点。下一次当你问问题时,请确保你提供了更多关于你所问问题和试图实现目标的细节。谢谢。所以…价格和标题不是书的属性,对吗?为什么你们投票关闭?…我从早上开始就尝试了…添加更多细节,并包含已经尝试过的代码总是一个好主意。为什么你们投票关闭?…我从早上开始尝试…添加更多细节总是一个好主意,并包含已经尝试过的代码。