我在XML文件中有一个错误列表,我正在寻找一个解决方案来获取一个错误的信息。 我的文件看起来像这样。
<?xml version="1.0" encoding="utf-8"?>
<List>
<ListingCodeErreur>
<Erreur ID="1100" ><Definition classe="0" Plage="Général" Text="Parameters inside"/></Erreur>
<Erreur ID="1101" ><Definition classe="1" Plage="Général" Text="Parameters outside"/></Erreur>
<Erreur ID="1102" ><Definition classe="2" Plage="Général" Text="Unknow parameters"/></Erreur>
</ListingCodeErreur>
<ClasseErreur>
<Classe ID="0" ><Definition Text="Avertissement" Couleur='#145A14'/>/Classe>
<Classe ID="1" ><Definition Text="Stop" Couleur='#145A14'/></Classe>
</ClasseErreur>
</List>
我上了课
public class ListErreur
{
public string ID { get; set; }
public Definition definition;
}
public class Definition
{
[XmlAttribute("Classe")]
public int Classe { get; set; }
[XmlAttribute("Plage")]
public int Plage { get; set; }
[XmlAttribute("Texte")]
public int Texte { get; set; }
}
但我不知道如何创建一个接收参数中的数字并发回信息的函数
感谢您的帮助
答案 0 :(得分:0)
你可以重复使用对象(XmlDocument,XmlElement),而不是为所有东西制作新的POCO
public Form1()
{
InitializeComponent();
XmlElement ndError = this.getError( "1101" );
string strDetails = "Error: " + ndError.GetAttribute( "classe");
strDetails += "\r\n" + ndError.GetAttribute( "Plage" );
strDetails += "\r\n" + ndError.GetAttribute( "Text" );
}
public XmlElement getError( string strError ) {
XmlDocument xml = new XmlDocument();
xml.LoadXml(@"
<List>
<ListingCodeErreur>
<Erreur ID='1100' ><Definition classe='0' Plage='Général' Text='Parameters inside'/></Erreur>
<Erreur ID='1101' ><Definition classe='1' Plage='Général' Text='Parameters outside'/></Erreur>
<Erreur ID='1102' ><Definition classe='2' Plage='Général' Text='Unknow parameters'/></Erreur>
</ListingCodeErreur>
<ClasseErreur>
<Classe ID='0' ><Definition Text='Avertissement' Couleur='#145A14'/></Classe>
<Classe ID='1' ><Definition Text='Stop' Couleur='#145A14'/></Classe>
</ClasseErreur>
</List>
");
XmlElement ndReturn = (XmlElement)xml.SelectSingleNode( "//Erreur[@ID='" + strError + "']/Definition");
return ndReturn;
}