「javaxml值」javaxxml
本篇文章给大家谈谈javaxml值,以及javaxxml对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java如何从xml文件中读取一个值
- 2、java中怎么取xml节点值
- 3、java如何读取xml节点元素值?
- 4、java读取xml的值
- 5、java 怎么读取xml里面的值
- 6、JAVA解析xml得到节点的值
java如何从xml文件中读取一个值
java读取xml信息常用技术有dom解析和dom4J解析
dom4j是最常用的java解析xml技术,在使用时需要下载dom4j.jar
具体解析方法可以参考一下内容
xml结构
books
book id="001"
titleHarry Potter/title
authorJ K. Rowling/author
/book
book id="002"
titleLearning XML/title
authorErik T. Ray/author
/book
/books
解析为List集合
import java.io.File;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Demo {
public static void main(String[] args) throws Exception {
SAXReader reader = new SAXReader();
File file = new File("books.xml");
Document document = reader.read(file);
Element root = document.getRootElement();
ListElement childElements = root.elements();
for (Element child : childElements) {
//未知属性名情况下
/*ListAttribute attributeList = child.attributes();
for (Attribute attr : attributeList) {
System.out.println(attr.getName() + ": " + attr.getValue());
}*/
//已知属性名情况下
System.out.println("id: " + child.attributeValue("id"));
//未知子元素名情况下
/*ListElement elementList = child.elements();
for (Element ele : elementList) {
System.out.println(ele.getName() + ": " + ele.getText());
}
System.out.println();*/
//已知子元素名的情况下
System.out.println("title" + child.elementText("title"));
System.out.println("author" + child.elementText("author"));
//这行是为了格式化美观而存在
System.out.println();
}
}
}
java中怎么取xml节点值
不难啊,你在appSettings结点上取所有children,然后一个一个遍历,找出所有attribute key的值满足你要求的child结点就可以了。虽然这个办法是傻了一点。
java如何读取xml节点元素值?
java读取xml节点元素,主要使用java提供的解析xml的工具类SAXParserFactory,如下代码:
package xml.xmlreader;
import java.io.File;
import java.net.URL;
import java.util.Properties;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
public class CFGParser {//解析xml文件的工具类
private Properties props;
public Properties getProps() {
return props;
}
public void setProps(Properties props) {
this.props = props;
}
public void parse(String filename) throws Exception
{
CFGHandler handler = new CFGHandler();
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);
SAXParser parser = factory.newSAXParser();
URL confURL = super.getClass().getClassLoader().getResource(filename);
if (confURL == null) {
System.out.println("Can't find configration file.");
return;
}
try
{
parser.parse(confURL.toString(), handler);
this.props = handler.getProps();
}
finally {
factory = null;
parser = null;
handler = null;
}
}
public void parseFile(String filename)
throws Exception
{
CFGHandler handler = new CFGHandler();
SAXParserFactory factory = SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);
SAXParser parser = factory.newSAXParser();
File f = new File(filename);
if ((f == null) || (!f.exists()))
return;
try
{
parser.parse(f, handler);
this.props = handler.getProps();
}
finally {
factory = null;
parser = null;
handler = null;
}
}
}
package xml.xmlreader;
import java.util.Properties;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class CFGHandler extends DefaultHandler
{
private Properties props;
private String currentSet;
private String currentName;
private StringBuffer currentValue = new StringBuffer();
public CFGHandler()
{
this.props = new Properties();
}
public Properties getProps() {
return this.props;
}
public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException
{
this.currentValue.delete(0, this.currentValue.length());
this.currentName = qName;
}
public void characters(char[] ch, int start, int length) throws SAXException
{
this.currentValue.append(ch, start, length);
}
public void endElement(String uri, String localName, String qName)
throws SAXException
{
this.props.put(qName.toLowerCase(), this.currentValue.toString().trim());
}
}
xml文件
?xml version="1.0" encoding="UTF-8"?
xml-body
refresh_userlist desc="用户列表刷新间隔时间(秒)"6/refresh_userlist
refresh_message desc="短消息刷新间隔时间(秒)"10/refresh_message
morningbegin desc="上午上班时间"23:00/morningbegin
morningend desc="上午下班时间"12:00/morningend
afternoonbegin desc="下午上班时间"18:00/afternoonbegin
/xml-body
jsp获取各个节点的值:
%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%
html
jsp:useBean id="cfgp" scope="page" class="xml.xmlreader.CFGParser"/jsp:useBean
body
%
cfgp.parse("kaoqin.xml");
Properties pro = cfgp.getProps();
String stTime = pro.getProperty("morningbegin");
String edTime = pro.getProperty("morningend");
String afternoonbegin = pro.getProperty("afternoonbegin");
out.println(stTime+"\n"+edTime+"\n"+afternoonbegin);
System.out.println(stTime+"\n"+edTime+"\n"+afternoonbegin);
%
/body
/html
java读取xml的值
import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; public class XmlDocument{
//文件对象
private static File xmlf;
//SAX对象
private SAXReader reader;
//Document对象
private Document doc;
/**
* 构造函数 实例化文件,SAX跟Document对象
* @param f 指定文件路径
*/
public XmlDocument(String f) {
this.xmlf = new File(f);
reader = new SAXReader();
try {
doc = reader.read(xmlf);
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
}
/**
* 根据表名,列名 属性名 得到某一个值
* @param tabName 表名
* @param colName 列名
* @param valName 属性名
* @return returns 返回的属性值 String类型
* @author JinQiao
*/
public String getTableColsVal(String tabName,String colName,String valName){
String returns="";//存返回值用的,
//得到根节点
Element e_plan = (Element)doc.selectSingleNode("node");
//根据传来的表名跟列名 拼接节点路径 找到对应的节点
ListElement eplist = (ListElement) e_plan.selectNodes("table[@name='"+tabName.toUpperCase()+"']/column[@name='"+colName.toUpperCase()+"']/column_type");
//循环得到的节点的所有子节点
for (Element ep : eplist) {
//根据传来的属性名称 找到该属性
try{
Element id = (Element) ep.selectSingleNode(valName);
//得到该属性的值
returns = id.getText();
//如果未找到会报空指针异常 返回""值
}catch(NullPointerException e){
return "";
}
}
//返回
return returns;
}
/**
* 根据表名判断此表在XML是否存在
* @param tabName 表名
* @return Boolean
* @author JinQiao
* @date 2010/07/27
*/
public Boolean isNull(String tabName){
//得到根节点
Element e_plan = (Element)doc.selectSingleNode("node");
//根据传来的表名跟列名 拼接节点路径 找到对应的节点
ListElement eplist = (ListElement) e_plan.selectNodes("table[@name='"+tabName.toUpperCase()+"']");
//判断XML中有没有这个表, 有的话返回true 反之false,
if (eplist.size()0)
return true;
else
return false;
} public static void main(String args []){
XmlDocument xd = new XmlDocument("C:\\Users\\JinQiao\\workspace\\ReqmanServer\\WebRoot\\WEB-INF\\src\\com\\reqman\\codemanage\\service\\tableConfig.xml");
System.out.println(xd.getTableColsVal("DM_YWLC", "YWLC_MC", "name"));
}} ---------------------------------------------------------------------------------------- 以下是我的XML部分截取 你试一下按你自己的要求去改类吧,node
table name="DM_DZBD"
column name="DZBD_DM"
column_type
namestring/name
/column_type
/column
column name="DZBD_MC"
column_type
namestring/name
/column_type
/column
column name="WJLJ_ZH"
column_type
namehref/name
typedzbd/type
/column_type
/column
column name="WJLJ"
column_type
namenull/name
/column_type
/column
column name="BDLYLX_ID"
column_type
nameradio/name
radio_tableDM_BDLYLX/radio_table
radio_colID,BDLYLX_MC/radio_col
/column_type
/column
column name="BDLYSM"
column_type
namestrings/name
/column_type
/column
column name="YXBZ"
column_type
nameradio/name
radio_tableDM_YN/radio_table
radio_colYN_DM,YN_MC/radio_col
/column_type
/column
/table/node
java 怎么读取xml里面的值
java读取xml信息常用技术有dom解析和dom4J解析
dom4j是最常用的java解析xml技术,在使用时需要下载dom4j.jar
具体解析方法可以参考一下内容
xml结构
books
book id="001"
titleHarry Potter/title
authorJ K. Rowling/author
/book
book id="002"
titleLearning XML/title
authorErik T. Ray/author
/book
/books
JAVA解析xml得到节点的值
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ParseXml {
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("d:/test.xml"));
Element root = doc.getRootElement();
Element record = root.element("Record");
IteratorElement it = record.elementIterator("Field");
while (it.hasNext()) {
Element element = it.next();
Element name = element.element("Name");
System.out.println(name.getText());
Element value = element.element("Value");
ParseXml.parseValue(value);
}
}
public static void parseValue(Element value) {
IteratorElement it = value.elementIterator();
if (it.hasNext()) {
while (it.hasNext()) {
Element element = it.next();
Element innerField = element.element("Field");
Element innerName = innerField.element("Name");
System.out.println(innerName.getText());
Element innerValue = innerField.element("Value");
parseValue(innerValue);
}
} else {
System.out.println(value.getText());
}
}
}
javaxml值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaxxml、javaxml值的信息别忘了在本站进行查找喔。
发布于:2022-12-17,除非注明,否则均为
原创文章,转载请注明出处。