我有一个现有的XML文件,其中包含以下start元素:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mynms SYSTEM 'mynms20.dtd'>
<mynms version="2.0" xmlns="mynms20.xsd"> <!-- This is the troublesome line-->
<cmData type="actual">
<header>
<log dateTime="2011-10-17T06:07:07" action="created" appInfo="ActualExporter">InternalValues are used</log>
</header>
.....
</cmData>
我正在使用c#的 XMLReader 读取此文件,然后如上所述更改文件的某些元素,并使用c#的 XMLWriter 在另一个文件中输出新的xml。
因此,当XMLReader读入一个元素时,我有以下内容:
writer.WriteStartElement(xmlReader.Prefix, xmlReader.Name, null);
writer.WriteAttributes(xmlReader, true); <!-- This causes the assertion. Take this out then everything is OK -->
但我得到一个例外,说明前缀''无法在同一个开始元素标记内从''重新定义为'mynms20.xsd'。&lt; ---这是什么意思以及如何我可以将命名空间和属性复制到另一个文件吗?
非常感谢。