【问题标题】:Modify existing XML stylesheet processing instruction in Java修改 Java 中现有的 XML 样式表处理指令
【发布时间】:2011-06-30 07:45:33
【问题描述】:

我正在读取一个现有的 XML 文件并将其输出(使用 DOM)。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="test"?>
<Books>
    <Book name="MyBook" />
</Books>

但是如何修改 XML 样式表呢? -> href 这里设置“测试”。

【问题讨论】:

    标签: java xml parsing dom


    【解决方案1】:

    这样的东西应该可以工作(未经测试)

    Element root = doc.getDocumentElement();
    XPath xpath = XPathFactory.newInstance().newXPath();
    String expression = "/processing-instruction('xml-stylesheet')";
    ProcessingInstruction pi;
    pi = (ProcessingInstruction)xpath.evaluate(expression, doc, XPathConstants.NODE);
    pi.setData("type='text/xsl' href='foo.xsl'");
    

    【讨论】:

      【解决方案2】:

      这有点棘手,但为什么不先将文件读入字符串并在通过流将其发送到 dom 解析器之前进行替换。

      【讨论】:

      • OK 可以关闭了 有解决办法 :)
      • 我解析并找到了 xml-stylesheet 并简单地将其替换为我自己的属性
      • xmlhandler:问题没有“关闭”,您只需批准对您有帮助的答案(通过单击答案旁边的复选框)。
      猜你喜欢
      • 2023-03-16
      • 2016-11-23
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2022-11-29
      • 1970-01-01
      • 2021-12-07
      • 2012-01-17
      相关资源
      最近更新 更多