Ich verwende den folgenden Code, um einen Namespace in einer vorhandenen XML-Nachricht in einer BizTalk-Pipeline-Komponente zu ändern. Das funktioniert, aber wie würde ich dem Dokument auch einen Namespace-Alias hinzufügen?Hinzufügen von Namespace und Alias zu vorhandenem XML
XNamespace toNs = "http://hl7.org/fhir/Encounters";
XElement doc = XElement.Parse(xmlIn);
doc.DescendantsAndSelf().Attributes().Where(a => a.IsNamespaceDeclaration).Remove();
var ele = doc.DescendantsAndSelf();
foreach (var el in ele)
el.Name = toNs + el.Name.LocalName;
return new XDocument(doc);
Haben Sie das [Antwort] (https://StackOverflow.com/questions/2339782/xml-Serialization-and-Namespace-prefixes) überprüft? Vielleicht kann 'XmlSerializerNamespaces' die Aufgabe erledigen. – andiblas
Haben Sie versucht, mit Die ESB Hinzufügen und Entfernen von Namespace Pipeline-Komponenten? https://msdn.microsoft.com/en-us/library/ee250047(v=bts.10).aspx – Dijkgraaf
** HALTEN SIE ON! ** Warum machst du das? Ich fragen Sie, da es für eine HL7-Nachricht ungewöhnlich ist, dass sie noch keinen Namespace hat, und aus Gründen der Klarheit gibt es mehr "richtige" Wege, dies zu erreichen. –