如何在不使用toString()的情况下从JAVA中的XmlObject中提取信息?

时间:2013-04-11 14:45:17

标签: java xml xmlbeans

我有一个XmlObject(org.apache.xmlbeans.XmlObject)obj。

    XmlObject obj;
    ...
    obj.toString(); //<xml-fragment>n2</xml-fragement>
    // content ="n2"
    String content = obj.toString().substring(14, obj.length() - 15) 

在内容中存储“n2”的正确方法是什么?

2 个答案:

答案 0 :(得分:6)

javadoc for SimpleValue - “所有XmlObject实现都可以强制转换为SimpleValue”

所以正确的做法是:

//to get the string value
((SimpleValue)obj).getStringValue();
//to set the string value
((SimpleValue)obj).setStringValue("n2");

答案 1 :(得分:3)

这样的东西?

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document document = db.parse(new File("input.xml"));
    NodeList nodeList = document.getElementsByTagName("Xml-Fragment");

你有你的节点列表,可以随心所欲地随心所欲。