从 XML 创建实体
本文关键字:实体 创建 XML | 更新日期: 2023-09-27 17:56:07
我有以下XML结构
<T>
<F>
<H>
<H1>some value</H1>
<H2>some value</H2>
<H3>some value</H3>
</H>
<O>
<P>some value</P>
<TI>some value</TI>
<TI>some value</TI>
</O>
<R>
<PTY>some value</PTY>
<PTY>some value</PTY>
<PTY>some value</PTY>
</R>
</F>
<T>
我需要在 C# 中解析此 xml,并从中获取值以进一步导出到 CSV 文件。我的问题是你如何为此XML创建一个实体
您可以使用 XmlSerializer 及其相关属性。
只要 XML 不是太复杂,就没有太多工作要做。
要读取 XML,请执行以下操作:
var serializer = new XmlSerializer(typeof(SerializableObject));
SerializableObject deserialized;
using (var stream = new FileStream(@"C:'test.xml", FileMode.Open))
{
deserialized = (SerializableObject)serializer.Deserialize(stream);
}
可序列化对象将如下所示:
[Serializable]
[XmlRootAttribute("T")]
public class SerializableObject
{
...
}
懒惰程序员的奖励:您可以使用 Xsd.exe 从 XML 文件暴力创建对象。然后根据您的需要调整结果。
您可以使用 LinqToXml 来解析 xml。StringBuilder将有助于生成CSV。
我认为这些操作方法会很有用。它们描述了解析此 xml 所需的所有内容。
使用 System.Xml.Linq 添加;然后你可以做类似的事情:
XDocument xml = XDocument.Load(@"....''People.xml");var query = from p in xml.Elements("people").元素("人")其中 (int)p.Element("id") == 1选择 P;