开发者

Modify existing XML stylesheet processing instruction in Java

I'm开发者_运维知识库 reading an existing XML file and outputting it (using DOM).

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

But how do I modify the XML stylesheet? -> href here set "test".


Something like this should work (untested)

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'");


Thats a bit tricky, but why not read the file first into a String and do a replace before sending it via a stream into the dom parser.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜