-
用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 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是节点名称;attributes是节点属性;查看全部
-
解析XML文档时,想要保存与其结构形式相同的结构内容时可以通过定义全局变量book与bookList来完成,将XML文件的相关属性保存到book对象中。 每读取完一本book之后将其存入bookList中,然后清空book进行下一本书的存储,最后从bookList中查看所有读取到的book的内容。 注:通过startElement和endElement方法来标志进行节点本身属性的开始与结束读取。 通过startDocument和endDocument方法来标志对XML文件的开始与结束读取。 通过characters方法来进行对节点本身内容的读取。查看全部
-
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类型的实例,属性的意思;查看全部
-
sax方式解析 1、获得SAXParserFactory实例:SAXParserFactory.newInstance() 2、获得parser实例:SAXParserFactory实例.newSAXParser() 3、获得handler实例:新建类继承DefaultHandler,重写startElement和endElement方法进行业务处理查看全部
-
JDOM解析乱码处理 1.修改xml第一行的encoding属性 2.在代码中处理,应用IO流知识 //创建输入流,将XML文件加载到输入流中 InputStream in = new FileInputStream("src/book.xml"); //使用包装流InputStreamReader进行读取编码的指定 InputStreamReader isr = new InputStreamReader(in,"UTF-8");查看全部
-
java程序 如何获取xml文件中的内容: 解析xml文件:在java程序中读取xml文件的过程 解析的目的:获取节点名、节点值、属性名、属性值 解析的方法:DOM(官方)、SAX(官方)、DOM4J、JDOM DOM解析步骤: 1.创建一个DocumentBuilderFactory的对象。用DocumentBuilderFactory.newInstance()方法 2.创建一个DocumentBuilder的对象。用dbf.newDocumentBuilder()方法[try..catch] 3.通过DocumentBuilder对象的parse(String fileName)方法解析xml文件。 4.创建一个Document接收返回值。导入org.w3c.dom包查看全部
-
JDOM的解析<br> 1.获取SAXBuilder对象<br> 2.将文件加载到SAXBuilder中,并获取Document对象<br> 3.通过Document对象获取文件的根节点<br> 4.有了根节点,通过根节点获取它的孩子节点书的集合<br> 5.循环遍历孩子节点集合,通过getAttributes方法获取节点的属性Attribute集合<br> 6.通过attribute的getName和getValue方法分别获取属性的名称和值 7.获得book下的节点,通过book节点对象的getChildren()方法获取子节点的集合 8.再通过子节点的getName和getValue方法获取节点名和节点的值查看全部
-
将对象 book 设置为全局变量,在 endElement()里面用一个List<Book>全局变量存储 book ,将每一个book下面的子元素的值用全局变量 value 存储下来,在 endElement()里面赋值给 value。在 endElement()里面判断该元素是否是 book 时将存储的 book 存放到 List<Book> 里面,清除 book 的值,重新赋值。查看全部
-
1.创建JDOM对象 SAXBuider saxbuiler = new SAXBuilder(); 2.将文件加载到输入流 inputsteam in = new FileInputStream(""); 3.通过saxBuilder的build方法,将输入流加载道saxbuilder中 Document dom = SaxBuilder.build(in); 4.获取xml的根节点 Document root = dom.getRootElement(); 5.获取根节点下子节点的List集合 List<Element> list = root.getChildren();查看全部
-
为了解析节点关系,需要在SAXparserHandler类中重写endElement()方法: endElement()方法:每个结束标签都会调用一次该函数。参数:qName--当前解析的标签的名字。 节点名可直接通过startElement()的qName获得。 为了获取节点的值,需要在SAXparserHandler类中重写characters()方法: characters()方法:参数:char[] ch---节点中的所有内容,可转化为String类型直接输出。(可通过String的.trim.equals("")来去掉空格)查看全部
-
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类型的实例,属性的意思;查看全部
-
Element book = (Element) bookList.item(i); book.getAttribute("id"); // 得到 book 中 id 属性的属性值查看全部
-
DOM 方式解析 XML DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); // 通过DocumentBuilder对象的parse方法加载books.xml文件到当前项目下 Document document = db.parse("books.xml"); // 通过标签名获取节点集合, 获取所有book节点的集合 NodeList bookList = document.getElementsByTagName("book"); // 遍历每一个book节点 for(int i = 0; i < bookList.getLength(); i ++){ // 通过 item(i) 方法 获取 一个book节点,nodeList的索引值从 0 开始 Node book = bookList.item(i); // 获取 book 节点的所有属性的集合 NameNodeMap attrs = book.getAttributes(); // 遍历 book 的属性 for(int j = 0; j < attrs.getLength(); j ++){ // 通过 item(index) 方法获取 book 节点的某一属性 Node attr = attrs.item(j).getNodeName(); // 获得属性名称 System.out.print("属性名:" + attr.getNodeName()); System.out.println("---属性值:" + attr.getNodeValue()); } }查看全部
-
在Java中获取xml文件的内容也称解析xml文件,解析的目的: 获取节点名、节点值、属性名、属性值。 4种解析方式:DOM、SAX、DOM4J、JDOM查看全部
-
package imocc; import java.util.Iterator; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class Xiaomei { public static void main(String[] args) throws Exception { DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); DocumentBuilder doc=dbf.newDocumentBuilder(); Document doo=doc.parse("books.xml"); NodeList bookList=doo.getElementsByTagName("book"); System.out.println("共有"+bookList.getLength()+"个book节点"); for(int i=0;i<bookList.getLength();i++){查看全部
举报
0/150
提交
取消