我正在学习c#!我想知道是否有一种方法来定义表示XML元素的Class属性以及如何从XML文件中读取属性!
答案 0 :(得分: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();
......但是如果没有更具体的问题,很难给出更具体的答案。
答案 1 :(得分: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;