用dom4j获取根节点的属性值 xml节点信息如下:
<?xml version="1.0" encoding="shift-jis"?>
<DocumentReceipt
xmlns="http://xxxx/DocumentReceipt"
xmlns:xsi="http://xxxx/XMLSchema-instance"
xsi:schemaLocation="http://xxxx/DocumentReceipt DocumentReceipt.xsd">
..........
</DocumentReceipt>现在我要获取这个根节点<DocumentReceipt>里面的 xmlns,xmlns:xsi,xsi:schemaLocation三个属性的值,然后写到几个变量中。代码如下:
SAXReader reader = new SAXReader();
Document document = reader.read(getXmlFile());// getxmlfile方法返回的是个File,确认没错
Element documentReceiptElement = doc.getRootElement();
Sting setXmlns = documentReceiptElement.attributeValue("xmlns");
String setXmlns_xsi = documentReceiptElement.attributeValue("xmlns:xsi");
String setXsi_schemaLocation = documentReceiptElement.attributeValue("xsi:schemaLocation")); 然而我测试的时候发现这几个变量得到的都是NULL,怎么回事?我确定得到的节点没错,而且用这个方法再获取下面其他子节点属性都没问题,难道根节点不能这么获取属性吗?请高手明示 谢谢!!
<?xml version="1.0" encoding="shift-jis"?>
<DocumentReceipt
xmlns="http://xxxx/DocumentReceipt"
xmlns:xsi="http://xxxx/XMLSchema-instance"
xsi:schemaLocation="http://xxxx/DocumentReceipt DocumentReceipt.xsd">
..........
</DocumentReceipt>现在我要获取这个根节点<DocumentReceipt>里面的 xmlns,xmlns:xsi,xsi:schemaLocation三个属性的值,然后写到几个变量中。代码如下:
SAXReader reader = new SAXReader();
Document document = reader.read(getXmlFile());// getxmlfile方法返回的是个File,确认没错
Element documentReceiptElement = doc.getRootElement();
Sting setXmlns = documentReceiptElement.attributeValue("xmlns");
String setXmlns_xsi = documentReceiptElement.attributeValue("xmlns:xsi");
String setXsi_schemaLocation = documentReceiptElement.attributeValue("xsi:schemaLocation")); 然而我测试的时候发现这几个变量得到的都是NULL,怎么回事?我确定得到的节点没错,而且用这个方法再获取下面其他子节点属性都没问题,难道根节点不能这么获取属性吗?请高手明示 谢谢!!
strDriver=node.getText();试试上面的方法
需要dom4j-1.6.1.jar,jaxen-1.1-beta-6.jar.还有可能是你的xml文件的格式不对,xml文件好象是一句不能分行的.
还有一个问题,<ds:Signature Id="drSig" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
象这样一个标记,我用XXX.attributes().size() 查到这个节点的属性数量是1
第2个属性 xmlns:ds 到哪去了??? 如何获取这个属性的值呢,大哥大姐们,实在是没招了
Element eParent = new Element(sParent);
eParent.addAttribute("content","test");//读根节点属性
try {
jDoc = jSaxD.build(file);
} catch (JDOMException e) {
e.printStackTrace();
}
Element eParent = jDoc.getRootElement(); //get the rootElement
System.out.println("eparent.content::: " + eParent.getAttributeValue("content"));