https://issues.apache.org/bugzilla/show_bug.cgi?id=47468
Yegor Kozlov <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID --- Comment #1 from Yegor Kozlov <[email protected]> 2009-07-07 22:59:05 PST --- Roberto, There are two ways how you can access XML that does not have a getXXX() accessor: (1) Grab the DOM node and navigate using the DOM API: Node node = xmlobject.getDomNode(); NodeList ch = node.getChildNodes(); ...etc. (2) Use built-in support for XPath. The XmlBeans API uses a dialect of XPath, please consult http://xmlbeans.apache.org/ for further details. Below is a sample code that reads xsd from the attached file: XSSFWorkbook wb = new XSSFWorkbook("CustomXMLMappings.xlsx"); List<POIXMLDocumentPart> rel = wb.getRelations(); for(POIXMLDocumentPart p : rel){ if("http://schemas.openxmlformats.org/officeDocument/2006/relationships/xmlMaps". equals(p.getPackageRelationship().getRelationshipType())){ InputStream is = p.getPackagePart().getInputStream(); CTSchema ct = CTSchema.Factory.parse(is); //select XML tree for the schema String query = "declare namespace w='http://schemas.openxmlformats.org/spreadsheetml/2006/main';" + "$this/w:MapInfo/w:Schema"; XmlObject[] o = ct.selectPath(query); for (XmlObject xsd : o){ XmlCursor cur = xsd.newCursor(); cur.selectPath("./*/*"); while (cur.toNextSelection()) { XmlObject ch = cur.getObject(); System.out.println(ch); } } } } Regards, Yegor -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
