解決方法是:
首先簡單地創建的XMLDocument並分配純粹的innerXML而沒有命名空間和前綴,因爲
XmlDocument ccda_xDoc = new XmlDocument();
ccda_xDoc.LoadXml("<ClinicalDocument></ClinicalDocument>");
XmlElement root = ccda_xDoc.DocumentElement;
root.InnerXml = @" My XML String without Prefix for any namespace";
然後搜索要前綴申請前綴,並添加屬性節點:
XmlNode xsiValue = root.SelectSingleNode("encounter/code[@code='99201']");
XmlAttribute xsitype = structuredBody.CreateAttribute("sdtc", "valueSet", "urn:hl7-org:sdtc");
xsitype.Value = "2.16.840.1.113883.3.464.1003.101.12.1047";
xsiValue.Attributes.Prepend(xsitype);
最後應用的命名空間根節點:
ccda_xDoc.DocumentElement.SetAttribute("xmlns", "urn:hl7-org:v3");
ccda_xDoc.DocumentElement.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
ccda_xDoc.DocumentElement.SetAttribute("xmlns:voc", "urn:hl7-org:v3/voc");
ccda_xDoc.DocumentElement.SetAttribute("xmlns:sdtc", "urn:hl7-org:sdtc");
是的,我已經附加此屬性根節點。 xmlns:xsi =「http://www.w3.org/2001/XMLSchema-instance」但仍會出現此錯誤。 –
那麼也許你可以發佈你的代碼?如果我們必須通過tcp/ip讀取你的想法,我們的調試技能有點缺乏:) – nvoigt