-
// 对book节点的子节点的节点名以及节点值的遍历 List<Element> bookChilds = book.getChildren(); for (Element child : bookChilds) { System.out.println("节点名:" + child.getName() + "----节点值:" + child.getValue()); } DOM 解析 获取节点名、值:getNodeName() getNodeValue() getTextContent() 获取子节点:getChildNodes() 返回 NodeList 获取属性节点:getAttributes() 返回 NamedNodeMap JDOM 解析 获取节点名、值:getName() getValue() 获取子节点:getChildren() 返回 List<Element> 获取属性节点:getAttributes() 返回 List<Attribute>查看全部
-
JDOM解析乱码处理 1.修改xml第一行的encoding属性 2.在代码中处理,应用IO流知识 //创建输入流,将XML文件加载到输入流中 InputStream in = new FileInputStream("src/book.xml"); //使用包装流InputStreamReader进行读取编码的指定 InputStreamReader isr = new InputStreamReader(in,"UTF-8");查看全部
-
---------------------------应用JDOM解析子节点属性------------------------------ //通过增强for循环进行遍历子节点集合 for(Element person : personList){ System.out.print("======开始解析第" + personList.indexOf(person)+1 + "个人======"); //解析person的属性 List<Attribute> attrList = person.getAttributes();//适用于我们不知道里面有多少属性 person.getAttributeValue("id");//适用于我们知道子节点属性的名字直接获取其属性值 //遍历属性 for(Attribute attr : attrList){ //获取属性名 String attrName = attr.getName(); //获取属性值 String attrValue = attr.getValue(); System.out.print("属性名:" + ); } System.out.println("======结束解析第" + personList.indexOf(person)+1 + "个人======"); }查看全部
-
DOM4J是第三方提供的解析XML方法,需要jdom-2.0.5.jar包(最新) 步骤: 1、创建SAXBuilder对象 SAXBuilder saxBuilder = new SAXBuilder(); 2、创建一个输入流将XML加载到输入流中 InputStream in = new FileInputStream("src/person.xml"); 3、将xml加载到文件输入输入流中 Document document = saxBuilder.build(in); 4、根据Document对象获取xml中的根节点 Element rootEle = document.getRootElement(); 5、获取根节点下的子节点的list集合 List<Element> personList = rootEle.getChildren();查看全部
-
xml的SAX解析并将解析的内容及xml结构形式保存至Java对象中。 SAX解析: 1、获取一个SAXParserFactory的实例:SAXParserFactory factory = SAXParserFactory.newInstance(); 2、通过factory获取SAXParser实例:SAXParser parser = factory.newSAXParser(); 3、创建SAXParserHandler对象:SAXParserHandler handler = new SAXParserHandler(); 4、将xml文件和解析方式handler加载到SAXParser实例:parser.parse("books.xml",handler); 解析的时候,是startElement-characters-endElement , characters解析完一个属性,就到endElement,然后又解析一个属性又到endElement,最后解析完全部属性,到endElement又到startElement开始下一个节点。 ArrayList保存对象 ArrayList<Book> BookList=new ArrayList<Book>(); BookList.add(book);book=null;后继续遍历 public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException// qName是String类型节点名称;attributes是Attributes类型的实例,属性的意思;查看全部
-
具体操作如下: 第一步,获取一个SAXParserFactory对象 SAXParserFactory factory = SAXParserFactory.newInstance(); 第二步,获取一个SAXParser对象 SAXParser parser = factory.newSAXParser(); 第三步,创建一个类SAXParserHandler implements DefaultHandler; 第四步,在类中重写startElement()和endElement()方法. 在类中重写startDocument()方法和endDocument()方法. 第五步,创建SAXParserHandler对象 SAXParserHandler handler = new SAXParserHandler() 第六步,调用parse(url,handler实例)方法 parser.parse("book.xml",handler);查看全部
-
SAX方式解析xml步骤 1.通过SAXParserFactory的静态newInstance()方法获取一个SAXParserFactory的对象。 2.通过SAXParserFactory对象的newSAXParser()方法返回一个SAXParser类的对象。 3.创建一个类继承DefaultHandler,重写其中的一些方法并创建类的实例. 4.通过SAXParser类的Parse(Stringname,df)方法解析xml文件,参数Stringname为路径名,df为继承于DefaultHandler类的实例化对象,不需要定义变量存储返回的类型. SAX是按节点顺序进行解析,遇到xml的声明即开始解析,遇到最后一个节点的尾节点便结束解析,需要用户自己定义一个类继承于DefaultHandler类来解析,遇到开始标签节点便通过startElement开始解析节点,遇到结束标签节点便通过endElement结束解析,再遇到开始节点继续通过startElement解析,一直循环直到xml文件最后的结束标签节点. 5.在继承于DefaultHandler这个类中需要重写父类的startElement()和endElement()方法,来进行开始节点与结束节点的解析,再重写startDocument()方法与endDocument()方法来标识解析的开始与结束.查看全部
-
SAX解析XML的速度比DOM的块, SAX的解析XML的解析器,需要重写startElement()开始解析的方法and endElemaent()方法 结束解析的方法and characters()方法 重写charaters()方法时,读取节点值(去除空的节点值) if(!value.trim().equals("")){ System.out.println(value); }查看全部
-
不同系统间通信、不同软件间通信、不同平台间通信使用xml文件 XML文件用来存储数据和传输数据 XML存储结构为树状 xml声明:<?xml version="1.0"encoding="utf-8"? > XML作用: 不同应用程序之间通信、传输信息(订票程序和支付程序) 不同系统间的通信(例:Windows系统和IOS系统) 不同平台间的数据共享(手机端和PC端) 不同APP之间的通信,不同的平台间的通信,不同平台间的数据共享。XML文件主要用于存储以及传输信息。 通过xml文件存储小型数据。查看全部
-
SAX解析原理查看全部
-
通过DOM方法解析XML文件查看全部
-
获取xml文件内容的 四种解析方式:DOM SAX DOM4J JDOM DOM、SAX :java 官方方式,不需要下载jar包 DOM4J、JDOM :第三方,需要网上下载jar包 DOM使用步骤: 准备工作 1、创建一个DocumentBuilderFactory的对象 DocumentBuilderFactory dbf = DocumnetBuilderFactory.instance(); 2、创建一个DocumentBuilder的对象 DocumentBuilder db = dbf.newDocumentBuilder(); 3、通过DocumentBuilder对象的parse方法加载xml文件到当前项目 Document document = db.parse("*.xml");查看全部
-
QName为标签名字 ?查看全部
-
4种xml解析方式查看全部
-
常用节点类型查看全部
举报
0/150
提交
取消