簡體   English   中英

用XmlWriter重寫名稱空間給我XmlException

[英]Rewriting namespace with XmlWriter give me XmlException

我正在嘗試為OpenClinica(一個使用CDISC ODM XML表示形式的臨床試驗平台)編寫XML文件。 我的問題是,當我嘗試使用XmlWriter編寫XML的第一個元素時,我遇到了以下異常:

An exception of type 'System.Xml.XmlException' occurred in System.Xml.dll but  
was not handled in user code

Additional information: The prefix '' cannot be redefined from '' to 
'http://www.cdisc.org/ns/odm/v1.3' within the same start element tag.

這是我想要的文件:

<ODM xmlns="http://www.cdisc.org/ns/odm/v1.3" 
     xmlns:OpenClinica="http://www.openclinica.org/ns/odm_ext_v130/v3.1" 
     xmlns:OpenClinicaRules="http://www.openclinica.org/ns/rules/v3.1" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     FileOID="testD20161121140900+0000" 
     Description="test" 
     CreationDateTime="2016-11-21T14:09:00+00:00" 
     FileType="Snapshot" 
     ODMVersion="1.3" 
     xsi:schemaLocation="http://www.cdisc.org/ns/odm/v1.3 OpenClinica-ODM1-3-0-OC2-0.xsd">

這是我的代碼:

StringWriter swriter = new StringWriter();
XmlWriter writer = XmlWriter.Create(swriter);

writer.WriteStartElement("ODM");
writer.WriteAttributeString("xmlns", "http://www.cdisc.org/ns/odm/v1.3");
writer.WriteAttributeString("xmlns", "OpenClinica", null, "http://www.openclinica.org/ns/odm_ext_v130/v3.1");
writer.WriteAttributeString("xmlns","OpenClinicaRules",null, "http://www.openclinica.org/ns/rules/v3.1");
writer.WriteEndElement();

writer.Close();
return swriter.ToString();

如果我只嘗試編寫“ xmlns:OpenClinica”和“ xmlns:OpenClinicaRules”屬性,那么運行得很好,但是當我嘗試編寫xmlns屬性時會出現問題。

這可能是什么問題?

請嘗試以下操作:

writer.WriteStartElement("","ODM","http://www.cdisc.org/ns/odm/v1.3");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM