Я пытаюсь сделать что-то, что может быть чрезвычайно простым, поэтому, пожалуйста, несите меня, я просто хочу получить атрибут из XML-файла в строку в коде C# , вот что у меня есть:использование XmlAttribute() для извлечения в C# visual2005
XML:
<MonitorResponseRecord Enabled="false" DisplayName="ValveFailureAtCentralPosition">
<ExpressionMonitor>
<AlarmName>Valve_Position_Fault</AlarmName>
<Parameter> Sensor Position = {X}</Parameter>
</ExpressionMonitor>
</MonitorResponseRecord>
<MonitorResponseRecord ... ... ...>
... ...
... ... and so on about 1600 times.
C#:
[Selrializable]
[XmlType("Alarm")]
public class AlarmDefinition
{
public AlarmDefinition() {}
public AlarmDefinition Clone()
{
AlarmDefinition clone = new AlarmDefinition();
clone.DisplayName = DisplayName;
clone.Category = Category;
clone.Color = Color;
clone.Description = Description;
return clone;
}
[XmlAttribute(???????????)] public string DisplayName = "";
так кто-нибудь знает, что я должен был бы в '???????????' раздел? Я пробовал:
[XmlAttribute("MonitorResponseRecord",AttributeName = "DisplayName")] public string DisplayName = "";
я должен был бы сделать сам ABIT более ясно, есть ли другие элементы в классе AlarmDefinition на основе некоторых других параметров, я обновил C# и коды XML – DarthSheldon
@ DarthSheldon xml в вашем ответе не является хорошо сформированным документом; поэтому невозможно сказать, что такое корень. Можете быть более конкретными? мы не можем воспроизвести что-либо с тем, что вы опубликовали, поскольку XmlSerializer ** не будет работать с этим **. Однако мое утверждение о '[XmlAttribute]' все еще стоит - это соответствующая аннотация, соответствующая вашим данным. –
Я попробовал [XmlRoot («MonitorResponseRecord»)] Идею, но она, похоже, не работает, есть ли что-то еще, что я должен добавить? – DarthSheldon