-
<?xml version="1.0" encoding="UTF-8"?>声明头文件 问号格式 版本 编码 XML可以在不同程序 不同操作系统 不同平台中 进行数据传输 XML是一个树形结构存储数据,其中是一个倒树,根结点在最上方,可为结点添加属性。 xml:使数据跨平台使用,共享。通常用来传输数据,而不用来显示。 标签可以自定义,成对出现,都有关闭标签。查看全部
-
1、DocumentBuilderFactory是抽象类,不能new对象实例,所以用Instance()方法来获取工厂解析器实例对象 2、DocumentBulider同样不能new 对象,通过工厂解析器对象来产生此类的解析器对象 工厂对象 . newDocumentBuilder() 3、通过解析器对象中的方法Parser(String uri)来解析xml文档文件。--解析器 java中解析xml的方式有四种,主要是DOM SAX DOM4J JDOM 注意:1.通过DocumentBuilderFactory下的DocumentBuilder对象的parse方法获取xml文件(需try-catch获取异常,或throw)查看全部
-
常用节点类型:Element、Attr、Text查看全部
-
选中部分:不知道节点属性,通过遍历获取 下半部分:已知节点有且只有1个id属性,则可通过bookList.item(i)直接强转成Element——getAttribute("id")来获取查看全部
-
1.通过DocumentBuilderFactory下的DocumentBuilder对象的parse方法获取xml文件(需try-catch获取异常,或throw)查看全部
-
java解析xml的四种方式,DOM和SAX较高效查看全部
-
public class SAXParserHandler extends DefaultHandler { /** * 用来遍历开始标签 */ @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { // TODO 自动生成的方法存根 super.startElement(uri, localName, qName, attributes); } /** * 用来遍历结束标签 */ @Override public void endElement(String uri, String localName, String qName) throws SAXException { // TODO 自动生成的方法存根 super.endElement(uri, localName, qName); } /** * 用来标识解析开始 */ @Override public void startDocument() throws SAXException { // TODO 自动生成的方法存根 super.startDocument(); System.out.println("SAX开始解析"); } /** * 用来标识解析结束 */ @Override public void endDocument() throws SAXException { // TODO 自动生成的方法存根 super.endDocument(); System.out.println("SAX结束解析"); } }查看全部
-
public class SAXTest { public static void main(String[] args) { // TODO 自动生成的方法存根 //创建一个SAXParserFactory的对象 SAXParserFactory factory=SAXParserFactory.newInstance(); try { //创建一个SAXParser的对象 SAXParser parser=factory.newSAXParser(); //创建一个SAXParserHandler(自己创建,继承DefaultHandler类)的对象 SAXParserHandler handler=new SAXParserHandler(); //调用parse(String url , HandlerBase hb)方法>>>开始解析,遍历开始标签,遍历结束标签,解析结束 parser.parse("books.xml", handler); } catch (ParserConfigurationException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (SAXException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }查看全部
-
/** * 获取子节点 */ //获取所有book节点的子节点的集合 NodeList ChildList = book.getChildNodes(); //输出子节点数量 System.out.println("第"+(i+1)+"本书共有"+ChildList.getLength()+"个子节点"); //遍历ChildList集合 for(int k = 0 ; k < ChildList.getLength() ; k++){ //通过item方法获取某一个子节点 Node Child = ChildList.item(k); /* * //获取子节点的名称并输出 * System.out.println("节点名:"+Child.getNodeName()); * 两个标签之间(包括结束标签到开始标签之间)的所有内容都看成是子节点 * 空格与换行字符看成为一个text类型的node,返回名称为:#text */ //区分text类型的节点和element类型的节点,并获取后者的节点名 if(Child.getNodeType()==Node.ELEMENT_NODE){ //获取节点类型方法&节点类型的表示方式 System.out.print("类型为element的节点名:"+Child.getNodeName()); //获取节点值并输出 //无效方法: System.out.println("---节点值:"+Child.getNodeValue()); //element类型的返回值默认为null //有效方法一: System.out.println("---节点值:"+Child.getFirstChild().getNodeValue()); //在其下面还有子节点时,会因为是Element节点所以默认的getNodeValue()返回值是null //有效方法二: System.out.println("---节点值:"+Child.getTextContent()); //在其下面还有子节点时,会将子节点内容与当前节点内容一起获取 } }查看全部
-
解析(parse)xml查看全部
-
element类型返回的value值为空查看全部
-
常用结点类型查看全部
-
1、DocumentBuilderFactory是抽象类,不能new对象实例,所以用Instance()方法来获取工厂解析器实例对象。 2、DocumentBulider同样不能new 对象,通过工厂解析器对象来产生此类的解析器对象: 工厂对象 . newDocumentBuilder() 3、通过解析器对象中的方法Parser(String uri)来解析xml文档文件。 //创建一个DocumentBuilderFactory的对象 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); //创建一个DocumentBuilder的对象 try { //创建DocumentBuilder对象 DocumentBuilder db = dbf.newDocumentBuilder(); //通过DocumentBuilder对象的parse方法加载books.xml文件到当前项目下 Document document = db.parse("book.xml"); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }查看全部
-
<?xml version="1.0" encoding="UTF-8"?>声明头文件 问号格式 版本 编码 XML可以在不同程序 不同操作系统 不同平台中 进行数据传输查看全部
-
DOM解析与平台无关的解析方式,可以使用DOM的api在任意地方进行解析。 SAX是JAVA平台提供的解析方式,是基于事件驱动的解析方式。 JDOM和DOM4J是java扩展出的方法,只有JAVA中可以使用的解析方法。查看全部
举报
0/150
提交
取消