我正在学习c#!我想知道是否有一种方法可以定义一个代表 XML 元素的 Class 属性,以及如何从 XML 文件中读取该属性!
问问题
181 次
2 回答
3
那么你当然可以声明一个类型的属性XElement
:
public class Foo
{
public XElement Bar { get; set; }
}
您可以使用如下代码从 XML 文件中读取它:
XDocument doc = XDocument.Load("file.xml");
Foo foo = new Foo();
foo.Bar = doc.Root; // The root element of the file...
显然你可以得到其他元素,例如
foo.Bar = doc.Descendants("SomeElementName").First();
...但没有更具体的问题,很难给出更具体的答案。
于 2012-09-09T11:58:11.343 回答
2
假设你有这样的 XML 文件:
<Root>
<ExampleTag1>Hello from Minsk.</ExampleTag1>
<ExampleTag2>Hello from Moskow.</ExampleTag2>
...
</Root>
您可以创建如下内容:
public class Class1 : IDisposable
{
private string filePath;
private XDocument document;
public Class1(string xmlFilePath)
{
this.filePath = xmlFilePath;
document = XDocument.Load(xmlFilePath);
}
public XElement ExampleTag1
{
get
{
return document.Root.Element("ExampleTag1");
}
}
public void Dispose()
{
document.Save(filePath);
}
}
然后使用它:
new Class1(filePath).ExampleTag1.Value;
于 2012-09-09T12:02:20.750 回答