Je dois faire d'une voiture un nœud enfant d'une piste. J'ai regardé en ligne, et j'ai essayé plusieurs façons, mais je ne peux pas le faire fonctionner correctement.Comment ajouter un nouveau nœud enfant à un nœud enfant existant
Voici mon fichier xml que je génère.
<RTDX msgid="3642728b-b75c-4196-9fad-5c4e882c3a9d" msgtime="0001-01-01 00:00:00.000" xmlns="http://www.aps-technology.com">
<EventTime>2012-02-09 19:38:13.802</EventTime>
<Track name="P7E Switch" />
<Car name="CSXT8423" sequence="4" orientation="A" axles="1" />
</RTDX>
Cependant, il s'agit du format attendu.
<RTDX msgid="3642728b-b75c-4196-9fad-5c4e882c3a9d" msgtime="0001-01-01 00:00:00.000" xmlns="http://www.aps-technology.com">
<EventTime>2011-12-07 05:00:03.579</EventTime>
<Track name="P7E Switch">
<Car name="CSXT8423" sequence="1" orientation="A"/>
</Track>
</RTDX>
C'est ma méthode qui génère le fichier XML. Notez que la première ligne du message est générée ailleurs et je ne peux pas changer cela.
protected override void SaveApsXml(System.Xml.XmlNode node)
{
base.SaveApsXml(node);
node.AppendNewChild("EventTime").SetElementText(this.EventTime.ToString(ApsMessage.DateTimeFormat));
node.AppendNewChild("Track").SetAttribute("name", this.Track); //Pretty sure this is whats causing the problem
this.SequenceCar.SaveApsXml(node.AppendNewChild("Car"));
}
Pour référence c'est la méthode AppendNewChild
public static XmlNode AppendNewChild(this XmlNode node, string name)
{
XmlNode child = node.OwnerDocument.CreateElement(name, node.NamespaceURI);
return node.AppendChild(child);
}
Merci beaucoup, cela semblait résoudre mon problème! En ce qui concerne le format de correspondance manquante, j'ai accidentellement posté l'ancien format. Je vais le mettre à jour maintenant. – ensantos91