0
我有下面的XML文件,我正在尝试编辑它。该文件开发不佳,因此在整个文档中包含多个名称空间声明和关闭根标记。反正有这些额外的命名空间和结束标签,只留下1名称空间在文件的顶部和1结束标签在底部?将多个XML文档流组合成一个有效文档
下面是该文件的一个简化版本:
<?xml version="1.0" encoding="UTF-8"?>
<p:demographic xmlns:p="http://crown.esrd.net/crown"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://crown.esrd.net/crown crown.xsd">
<patient>
<lastName>JOHNS</lastName>
<firstName>JASON</firstName>
<middleInitial>Y</middleInitial>
</patient>
</p:demographic>
<?xml version="1.0" encoding="UTF-8"?>
<p:demographic xmlns:p="http://crown.esrd.net/crown"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://crown.esrd.net/crown crown.xsd">
<patient>
<lastName>CALDWELL</lastName>
<firstName>PENNY</firstName>
<middleInitial>Y</middleInitial>
</patient>
</p:demographic>
该输入实际上并不是一个有效的XML文件,这使问题标题有点误导。编辑。 –
...另外,由于输入不是有效的文档,因此无法使用XSLT完成(或者,无法单独使用XSLT完成)。是否有你的问题标记为“xslt”的原因? –
这是事情 - 以确保正确的方式来做这件事(例如,不要在'CDATA'部分引用''字符串)是_hard_。事实上,如果我打算这样做,我可能会使用一个真正的XML解析器,记录文件偏移量以检测每个错误,寻找下面的错误并重新运行以识别片段偏移量,为每个片段提供内容,合并他们......输出将被保证是正确的,不像更天真的方法,但它也比我要做的StackOverflow上的答案更多的工作。 –