⑴domj遍历所有节点(如何采用domj循环增加xml节点,如下格式for循环取数据,循环一次创建一个xyList节点
⑵如何采用domj循环增加xml节点,如下格式for循环取数据,循环一次创建一个xyList节点
⑶import?java.util.*;??import?.domj.*;????public?class?testxml?{????????public?static?void?main(String?args)?{??????????String?xml?=???????????????“?《file》????????????????????????????????“?+???????????????“?????《chapter?id=““?name=“a“/》????“?+??????????????“?????《chapter?id=““?name=“b“/》????“?+??????????????“?????《chapter?id=““?name=“c“/》????“?+??????????????“?????《chapter?id=““?name=“d“/》????“?+??????????????“??《/file》?“????????????????????????????;??????????try?{??????????????//生产doc文档??????????????Document?doc?=?DocumentHelper.parseText(xml);??????????????//得到根节点??????????????Element?root?=?doc.getRootElement();??????????????//得到根节点下的chapter节点??????????????List?elements?=?root.elements(“chapter“);??????????????//遍历chapter节点??????????????Iterator?iterator?=?elements.iterator();??????????????????????while(iterator.hasNext()){??????????????????Element?e?=?(Element)iterator.next();??????????????????String?id?=?e.attributeValue(“id“);??????????????????//如果id==?则添加新的节点??????????????????if(““.equals(id)?||?““?==?id){??????????????????????//新添加的节点??????????????????????Element?enew?=?e.addElement(“chapterNew“);??????????????????????//添加属性和值??????????????????????enew.addAttribute(“id“,?“.“);??????????????????????enew.addAttribute(“name“,?“a.“);??????????????????}??????????????}??????????????//打印??????????????System.out.println(doc.asXML());??????????}?catch?(DocumentException?e)?{??????????????e.printStackTrace();??????????}??????}??}
⑷xml混合元素(含文本和子元素如何使用domj解析
⑸这个先遍历根节点取到他的文本内容然后便利其子节点再取子节点的文本内容。Documentdoc=reader.read(newStringReader(content));//读取xml中数据Elementroot=doc.getRootElement();//获得xml的根节点rootIteratoriter=root.elementIterator();//遍历根节点while(iter.hasNext()){Elementcol=(Element)iter.next();//此处拿到的是rootStringcolvalue=col.getTextTrim();//取到已知Iteratoriter=col.elementIterator();//遍历root节点while(iter.hasNext()){Elementitem=(Element)iter.next();//此处拿到root子节点Stringname=item.getName();Stringvalue=item.getTextTrim();}
⑹domj能否保证读取节点的顺序
⑺通过节点的style属性添加、定义一个节点、获取div节点vardomdiv=document.getElementById(’tsdiv’);//通过document.getElementById获取dom节点、添加stylediv.style.display=’none’;//添加style属性,设置display样式为none
⑻domj怎么遍历某一个节点(节点是通过
⑼可以通过元素中的getText方法获取到节点的内容。举例:SAXReadersax=newSAXReader();Documentdocument=sax.read(reader);//reader为定义的一个字符串,可以转换为xmlElementroot=document.getRootElement();//获取到根节点元素Stringstr=root.getText()//获取到节点的内容用到的是domj-...jar,需要引入的包是:import.domj.Document;import.domj.DocumentException;import.domj.Element;import.domj.io.SAXReader;备注:如果是多个子节点可以通过地Elementxx=root.element(“code“)逗获取到子节点的元素,前提是需要知道子节点的名称。现其温度非常烫手。在更换大功率风扇之后,死机故
⑽domj根据attributeValue获得节点内容
⑾document.getRootElement();。写一个递归的方法,把根结点root放进来publicvoidgetElementList(Elementelement){Listelements=element.elements();if(elements.size()==){//叶子节点,取出属性值System.out.println(elements.attributeValue(“name“)+elements.attributeValue(“value“)+elements.attributeValue(“color“));}else{//有子元素for(Iteratorit=elements.iterator();it.hasNext();){Elementelem=(Element)it.next();//递归遍历getElementList(elem);}}}
⑿java读取xml文件内容
⒀java中不是有个读取xml文件的类吗?之间调用那类读取出来,然后用取节点的方法去取对应节点的里的值。等下给你代码。publilassReaderXml{privatestaticStringfilename=“E:workplace eaderxmlbin eaderxml eader.xml“;//privatestationfigconfig;publicstaticvoidmain(Stringargs)throwsException{//这里用反射机制DocumentBuilderFactorydomfac=DocumentBuilderFactory.newInstance();DocumentBuilderdombuilder=domfac.newDocumentBuilder();//读取文件流InputStreamis=newFileInputStream(filename);Documentdoc=dombuilder.parse(is);Elementroot=doc.getDocumentElement();//获取所有xml节点NodeListdbinfo=root.getChildNodes();if(dbinfo!=null){for(inti=;i《dbinfo.getLength();i++){//获取节点判断Nodedb=dbinfo.item(i);//如果是Hardwares节点,也就是你xml文件的最顶处的节点if(db.getNodeName().equals(“Hardwares“)){//获取第二个节点包含的所有节点NodeListlist=db.getChildNodes();for(inty=;y《list.getLength();y++){Noden=list.item(y);//如果节点等于Hardwareif(n.getNodeName().equals(“Hardware“)){//获取Hardware节点中的所有节点NodeListodeList=n.getChildNodes();//取出Hardware里面的所有节点for(intk=;k《odeList.getLength();k++){//取出节点Node=odeList.item(k);//去掉里面的#text文件节点。没用,这个不是你配置的节点,应该是xml文件隐藏的if(!.getNodeName().equals(“#text“)){//打印你所配置的所有节点System.out.println(“node=“+.getTextContent());}}}}}}}}}//具体你要干嘛自己弄了!
⒁domj如何获取所有的叶子节点
⒂package.hxf.xmlparse.impl;importjava.io.File;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;import.domj.Document;import.domj.DocumentException;import.domj.Element;import.domj.io.SAXReader;import.hxf.xmlparse.XMLMgr;publilassXMLMgrImplimplementsXMLMgr{/用于储存中间节点的所有叶子节点的中间集合*/privateList《Element》allLeafs;publicXMLMgrImpl(){allLeafs=newArrayList《Element》();}/*获取XML的所有叶子节点对象*since..*author韩晓飞*paramf需要操作的XML文件对象*/publicList《Element》getAllLeafNode(Filef){SAXReaderreader=newSAXReader();Documentdoc;try{doc=reader.read(f);Elementroot=doc.getRootElement();Iterator《Element》allSons=root.elementIterator();while(allSons.hasNext()){getLeafNodes(allSons.next());}}catch(DocumentExceptione){e.printStackTrace();}returnallLeafs;}publicstaticvoidmain(Stringargs){Filef=newFile(“D:“+File.separator+“entityMapping.xml“);XMLMgrImplcx=newXMLMgrImpl();cx.getAllLeafNode(f);}privateList《Element》getLeafNodes(ElementcurrentNode){Elemente=currentNode;if((e.elements()).size()》=){List《Element》el=e.elements();for(ElementsonNode:el){if(sonNode.elements().size()》)getLeafNodes(sonNode);elseallLeafs.add(sonNode);}}returnallLeafs;}}

⒃domj怎么遍历某一个节点下的子节点

⒄/*wdm*将xml指定的节点名开始*转换为cdo*paramstrXMLreturn/publicstaticvoidxmlcdoByElementName(CDOcdoData,StringstrXML,StringelementName,intfloor){try{/intfloor=;//元素子节点循环几层Documentdocu…
⒅DomJ异常问题:DocumentException
⒆这是由于解析的xml文件的注释中含有中文,导致xml解析错误。删掉中文注释。
⒇domj怎么遍历某一个节点下的子节点
⒈/*wdm*将xml指定的节点名开始*转换为cdo*paramstrXMLreturn/publicstaticvoidxmlcdoByElementName(CDOcdoData,StringstrXML,StringelementName,intfloor){try{/intfloor=;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/204268.html