尽管Dimitre 的回答在技术上是正确的,但一些流行的库现在可以按预期解析处理指令伪属性。后续示例解析以下 XML 处理指令以获取href
pseduo-attribute 的值:
<?xml-stylesheet type="text/xsl" href="markdown.xsl"?>
JDOM2
使用JDOM2:
import org.jdom2.ProcessingInstruction;
import org.xml.sax.helpers.DefaultHandler;
public class ProcessingInstructionHandler extends DefaultHandler {
@Override
public void processingInstruction( final String target, final String data ) {
final ProcessingInstruction pi = new ProcessingInstruction( target, data );
System.out.println( pi.getPseudoAttributeValue( "href" ) );
}
}
撒克逊人
使用撒克逊:
import static net.sf.saxon.tree.util.ProcInstParser.getPseudoAttribute;
import org.xml.sax.helpers.DefaultHandler;
public class ProcessingInstructionHandler extends DefaultHandler {
@Override
public void processingInstruction( final String target, final String data ) {
System.out.println( getPseudoAttribute( data, "href" ) );
}
}