XSLT:省略嵌入在文本中的声明

时间:2012-12-20 21:40:08

标签: python xslt groovy declaration xalan

希望你们能提供帮助。我有一个字符串(请记住它是类似XML的,但我的应用程序将其视为二进制字符串),在文本中包含多个xml声明。我想删除这些声明。例如

<?xml version="1.0" encoding="UTF-8"?>
<Parent>
    <?xml version="1.0" encoding="UTF-8"?>
    <Child1>
    .
    .
    </Child1>
    <?xml version="1.0" encoding="UTF-8"?>
    <Child2>
    .
    .
    </Child2>
</Parent>

omit-xml-declaration =“yes”在这种情况下不起作用,因为它无法访问文档中的声明。除了使用XSLT的第一个声明之外,我有什么办法可以逃避任何声明吗?我可能会以某种方式CDATA(不确定这会起作用)

1 个答案:

答案 0 :(得分:0)

使用XSLT无法实现这一目标!

原因:解析器需要有效的XML。您列出的示例代码不是有效的XML。

解决方案:

  1. 如果可以修改生成此类XML的源代码,那么请更正它!由于不推荐第二个建议!或者如果你没有选择那么
  2. 使用字符串操作或使用常规表达式,使用C#或Java等主机程序将此声明部分替换为null /空格来修改XML。 RegEx会更有用,因为字符串模式在代码中总是很常见。