-
JDOM常见问题: 乱码问题: 1、修改xml文件中的encoding 2、将输入流通过InputStreamReader来改变编码格式查看全部
-
JDOM解析子节点的名和值: Element类的方法(Book): .getChildren() 返回子节点的List集合。(返回List<Element>类型) .getName() 返回节点的名字 .getValue() 返回节点的值查看全部
-
JDOM解析节点属性: Element类的方法(Book): .getAttributes() 属性的集合。(返回List<Attributes>类型) .getAttribute(属性名) 通过“属性名”指定属性。(返回Attribute类型) .getAttributeValue(属性名) 直接通过“属性名”返回属性值。(返回String类型) Attributes类的方法: (与DOM和SAX的不同:不会保留空格等文本,只会返回实际值) .getName() 返回属性名 .getValue() 返回属性值查看全部
-
JDOM是非官方提供的解析方法,因此要导入JAR包。 JDOM解析xml文件的过程: org.jdom2.input 1、SAXBuilder saxBuilder = new SAXBuilder(); (先创建一个输入流,将xml文件加载到输入流中) 2、InputStream in = new FileInputStream(xml文件名); 3、Document document = saxBuilder.build(InputStream in); 4、Element rootElement = document.getRootElement(); //获取xml文件中的根节点 5、List<Element> childList = rootElement.getChildren(); //获取根节点下的子节点List集合查看全部
-
可通过SAX解析xml文件,建立对象。 要在全局建立对象。 当对象的成员变量为属性时,可在startElement()中设置成员变量的值。当对象的成员变量不为属性时,可将character()方法中的value设为全局变量,再在endElement()方法中得到成员变量的值(因为当访问完character()方法后,会设置好value的值,然后就会访问endElement()方法)。要在endElement()方法中对对象清空,方便下一个对象建立。 可通过List集合将创建好的对象保存下来。查看全部
-
为了解析节点关系,需要在SAXparserHandler类中重写endElement()方法: endElement()方法:每个结束标签都会调用一次该函数。参数:qName--当前解析的标签的名字。 节点名可直接通过startElement()的qName获得。 为了获取节点的值,需要在SAXparserHandler类中重写characters()方法: characters()方法:参数:char[] ch---节点中的所有内容,可转化为String类型直接输出。(可通过String的.trim.equals("")来去掉空格)查看全部
-
为了解析节点的属性,需要在SAXparserHandler类中重写: startElement()方法:用来解析xml元素,每个开始标签都会调用一次该方法。参数:attributes--开始标签的属性;qName--当前解析的标签的名字。 attributes的方法: .getValue(属性名) 返回属性名的属性值。 .getLength() 返回节点的属性个数。 .getQName(int index) 返回得到索引值为index的属性名。 .getValue(int index) 返回得到索引值为index的属性值。查看全部
-
SAX方法解析xml步骤: 1、SAXparserFactory factory = SAXparserFactory.newInstance(); 2、SAXparser parser = factory.newSAXparser(); 4、调用parser的.parser()方法开始解析。查看全部
-
需要自己写SAXparserHandler类继承DefaultHandler类,并重写startElement方法(用来遍历xml文件的开始标签)、endElement方法(用来遍历xml文件的结束标签)、startDocument方法(用来标识解析开始)、endDocument方法(用来标识解析结束)。查看全部
-
DOM解析xml文件会将整个文件都加在到内存当中,然后去逐个解析。 SEX解析xml文件是通过自己创建的Handler处理类,去按顺序逐个分析遇到的每个节点。逐行!!!!! 当遇到的节点具有属性时,可以通过startElement去描写处理节点属性的逻辑。会通过endElement来解析结束节点。查看全部
-
DOM下解析xml文件某个节点的子节点名和子节点值: 1、Node类的.getChildNodes() 返回得到该节点(book)的子节点集合。(返回NodeList类型) 2、NodeList类的.item(int index) 可通过索引值index获取具体某个节点(name)。(返回Node类型) 3、Node类的.getNodeType() 可返回节点的类型。可与Node的静态变量进行比较,筛选出Element类型的节点。 4、Node类的.getNodeName() 可返回子节点(name)的名称。 5、存储的信息实质为子节点(name)的子节点。通过Node类的.getFirstChild().getNodeValue()得到子节点(name)的信息。或通过Node类的.getTextContent()直接得到子节点(name)的信息。(注意两者的不同)查看全部
-
常用的节点类型查看全部
-
DOM下解析xml文件节点的属性: org-w3c-dom 一、未知节点属性的个数和属性名时: 1、Document类的.getElementsByTagName(标签名)方法,可通过标签名返回节点的集合(返回NodeList类型) (对于NodeList,得到的是具有相同标签名的节点的集合List,需要用for遍历。) 2、NodeList类的.getLength() 可返回集合的长度。 3、NodeList类的.item(int index) 可访问集合中下标为index的节点(index从0开始),(返回Node类型)。 4、Node类的.getAttributes() 返回节点Node的所有属性的集合(返回NamedNodeMap类型)。 5、NamedNodeMap类的.getLength() 可返回节点具有的属性的数目。 6、NamedNodeMap类的.item(int index) 可获取节点下索引值为index的属性,返回Node类型。 7、NamedNodeMap类的.getNodeName()可返回该属性的名称,通过.getNodeValue()返回属性值。 二、已知节点的属性只有一个,且属性名已知 1、Document类的.getElementsByTagName(标签名)方法,可通过标签名返回节点的集合(返回NodeList类型) 2、NodeList类的.getLength() 可返回集合的长度。 3、NodeList类的.item(int index)强制类型转换为Element类型。 4、Element类的.getAttribute(属性名) 可得到属性的值。(返回String类型)查看全部
-
Document - org.w3c.dom DOM下解析xml的过程:查看全部
-
在Java中读取xml文件的方式:DOM、SAX、DOM4J、JDOM 在eclipse中,建立JAVA Project,直接将xml文件拖拽至project文件下查看全部
举报
0/150
提交
取消