【发布时间】:2014-01-08 18:23:45
【问题描述】:
我编写了读取我的 XML 文件的函数。我可以写得更通用更短吗?
我的功能:
XmlTextReader reader = new XmlTextReader ("../../database.xml");
reader.ReadStartElement("eshop");
while (reader.Read ()) {
if (reader.IsStartElement ()) {
reader.ReadStartElement("item");
reader.ReadStartElement ("id");
string elem = reader.ReadString ();
reader.ReadEndElement ();
reader.ReadStartElement ("name");
string name = reader.ReadString ();
reader.ReadEndElement ();
reader.ReadStartElement ("cost");
string cost = reader.ReadString ();
reader.ReadEndElement ();
Console.WriteLine (elem + " - name : " + name + " - cost: " + cost);
}
}
示例 XML:
<?xml version="1.0" encoding="UTF-8" ?>
<eshop>
<item>
<id>1</id>
<name>some product 1</name>
<cost>89.90</cost>
</item>
<item>
<id>2</id>
<name>some product 2</name>
<cost>95.00</cost>
</item>
<item>
<id>3</id>
<name>some product 3</name>
<cost>12.00</cost>
</item>
</eshop>
如果我将新元素添加到 .现在,如果我想将我的 xml 文件升级到其他元素,我必须添加此功能:
reader.ReadStartElement ("secondelement");
string secondelement = reader.ReadString ();
reader.ReadEndElement ();
请帮忙。谢谢。
【问题讨论】:
-
这个问题似乎是题外话,因为它是关于重构一个工作代码示例。考虑在 Code Review 上发帖。