xmlns="что-то" - должно быть в родительском узле
У меня проблема. Не могу назвать XAttribute следующим образом: XAttribute ("xmlns", nss.NamespaceName)
XNamespace ns = "urn: hl7-org: v3"; XNamespace nsVoc = "urn: hl7-org: v3 / voc";
new XElement("ClinicalDocument",
new XAttribute(XNamespace.Xmlns + "xsi", xsiNs.NamespaceName),
new XAttribute("xmlns", nss.NamespaceName),
new XAttribute(XNamespace.Xmlns + "voc", nsVoc.NamespaceName),
new XAttribute(xsiNs + "schemaLocation", ns.NamespaceName + "../Schemas/cda/Schemas/CDA.xsd"),
new XElement("typeId",
new XAttribute("root", rootTypeId),
new XAttribute("extension", extensionTypeId)),
new XElement("templateId",
new XAttribute("root", rootTemplateId)),
new XElement("templateId",
new XAttribute("root", rootTemplatedId)),
,,,
я не закрываю этот родительский кивок здесь.. У меня 2000 строк между концевыми кивками
СООБЩЕНИЕ IS: Префикс '' не может быть переопределен с '' на 'urn:hl7-org:v3' в пределах того же тега начального элемента.
1 ответ
Вместо
new XElement("ClinicalDocument",
new XAttribute(XNamespace.Xmlns + "xsi", xsiNs.NamespaceName),
new XAttribute("xmlns", nss.NamespaceName),
тебе нужно
XNamespace df = nss.NamespaceName;
new XElement(df + "ClinicalDocument",
new XAttribute(XNamespace.Xmlns + "xsi", xsiNs.NamespaceName),
new XAttribute(XNamespace.Xmlns + "voc", nsVoc.NamespaceName),
new XAttribute(xsiNs + "schemaLocation", ns.NamespaceName + "../Schemas/cda/Schemas/CDA.xsd"),
new XElement(df + "typeId",
поэтому вам нужно убедиться, что вы создали XNamespace для этого пространства имен по умолчанию, а затем ваш код должен убедиться, что new XElement()
звонки используют например new XElement(df + "foo")
создать элемент в правильном пространстве имен.