我想要做的是將DOM序列化爲XML。所以我創建一個新的文件如何防止在Firefox中產生空的命名空間?
var doc = document.implementation.createDocument ('http://AOR-AppML.org', 'Application', null);
我添加節點,屬性等。這工作正常。
問題是我在Chrome瀏覽器和Mozilla Firefox瀏覽器中與XMLSerializer
有不同的行爲。
Chrome的控制檯輸出:
<Application xmlns="http://AOR-AppML.org" name="SoRiN"><ObjectType name="ObjectTypeName"/><Enumeration name="EnumerationName"/></Application>
Firefox的控制檯輸出(注意的xmlns = 「」):
<Application xmlns="http://AOR-AppML.org" name="SoRiN"><ObjectType xmlns="" name="ObjectTypeName"/><Enumeration xmlns="" name="EnumerationName"/></Application>
我不想產生空的命名空間。我讀過這個命名空間,表明相應的元素沒有默認命名空間(http://www.w3.org/TR/xml-names/#defaulting),但實際上我希望它們與Application
位於同一個命名空間中。
有什麼辦法可以阻止Firefox中的命名空間生成?
P.S. - 是的,我已經從這個帖子隨後建議 - >How to prevent the namespace generation?
UPDATE
Here是玩小提琴。
如何創建附加到新文檔的元素?根據規範,您引用的問題中給出的答案是錯誤的,因爲document.createElement方法確實將名稱空間URI設置爲空的URI(http://www.w3.org/TR/DOM-Level- 3核/ core.html#ID-2141741547)。 –
我按照該問題的答案中的建議創建元素...我還有其他選項嗎? –
我有一個添加到小提琴玩的鏈接。 –