javaxml属性的值
A. 用java解析获得xml中的值
importjava.io.File;
importjava.util.List;
importorg.dom4j.Document;
importorg.dom4j.DocumentException;
importorg.dom4j.Element;
importorg.dom4j.io.SAXReader;
publicclassTest{
publicstaticvoidmain(String[]args){
Filefile=newFile("d:\Test.xml");
SAXReaderreader=newSAXReader();
Documentdoc=null;
try{
doc=reader.read(file);
}
catch(DocumentExceptione){
e.printStackTrace();
}
Elementroot=doc.getRootElement();
List<Element>records=root.elements("Record");
for(Elementrecord:records){
List<Element>fields=record.elements("Field");
for(Elementfield:fields){
parseFieldElement(field);
}
}
}
(Elemente){
System.out.println(e.elementText("Name"));
if(Integer.parseInt(e.attribute("isMultiValue").getValue())==1){
List<Element>fields=e.element("Value").element("LookupRecord").elements("Field");
for(Elementfield:fields){
parseFieldElement(field);
}
}
else{
System.out.println(e.elementText("Value"));
}
}
}
B. java中XML里面属性获得的值的Element类型,怎么转换成int或Integer类型
强转。Long a=10l; int b = (int)a; 不过如果long值超出int的取值范围后再转型的话会有问题的。就是转型后的值变了,
C. java如何读取xml节点元素值
java读取xml节点元素,主要使用java提供的解析xml的工具类SAXParserFactory,如下代码:
packagexml.xmlreader;
importjava.io.File;
importjava.net.URL;
importjava.util.Properties;
importjavax.xml.parsers.SAXParser;
importjavax.xml.parsers.SAXParserFactory;
publicclassCFGParser{//解析xml文件的工具类
privatePropertiesprops;
publicPropertiesgetProps(){
returnprops;
}
publicvoidsetProps(Propertiesprops){
this.props=props;
}
publicvoidparse(Stringfilename)throwsException
{
CFGHandlerhandler=newCFGHandler();
SAXParserFactoryfactory=SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);
SAXParserparser=factory.newSAXParser();
URLconfURL=super.getClass().getClassLoader().getResource(filename);
if(confURL==null){
System.out.println("Can'tfindconfigrationfile.");
return;
}
try
{
parser.parse(confURL.toString(),handler);
this.props=handler.getProps();
}
finally{
factory=null;
parser=null;
handler=null;
}
}
publicvoidparseFile(Stringfilename)
throwsException
{
CFGHandlerhandler=newCFGHandler();
SAXParserFactoryfactory=SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);
SAXParserparser=factory.newSAXParser();
Filef=newFile(filename);
if((f==null)||(!f.exists()))
return;
try
{
parser.parse(f,handler);
this.props=handler.getProps();
}
finally{
factory=null;
parser=null;
handler=null;
}
}
}
packagexml.xmlreader;
importjava.util.Properties;
importorg.xml.sax.Attributes;
importorg.xml.sax.SAXException;
importorg.xml.sax.helpers.DefaultHandler;
{
privatePropertiesprops;
privateStringcurrentSet;
privateStringcurrentName;
=newStringBuffer();
publicCFGHandler()
{
this.props=newProperties();
}
publicPropertiesgetProps(){
returnthis.props;
}
publicvoidstartElement(Stringuri,StringlocalName,StringqName,Attributesattributes)
throwsSAXException
{
this.currentValue.delete(0,this.currentValue.length());
this.currentName=qName;
}
publicvoidcharacters(char[]ch,intstart,intlength)throwsSAXException
{
this.currentValue.append(ch,start,length);
}
publicvoidendElement(Stringuri,StringlocalName,StringqName)
throwsSAXException
{
this.props.put(qName.toLowerCase(),this.currentValue.toString().trim());
}
}
xml文件
<?xmlversion="1.0"encoding="UTF-8"?>
<xml-body>
<refresh_userlistdesc="用户列表刷新间隔时间(秒)">6</refresh_userlist>
<refresh_messagedesc="短消息刷新间隔时间(秒)">10</refresh_message>
<morningbegindesc="上午上班时间">23:00</morningbegin>
<morningenddesc="上午下班时间">12:00</morningend>
<afternoonbegindesc="下午上班时间">18:00</afternoonbegin>
</xml-body>
jsp获取各个节点的值:
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<html>
<jsp:useBeanid="cfgp"scope="page"class="xml.xmlreader.CFGParser"></jsp:useBean>
<body>
<%
cfgp.parse("kaoqin.xml");
Propertiespro=cfgp.getProps();
StringstTime=pro.getProperty("morningbegin");
StringedTime=pro.getProperty("morningend");
Stringafternoonbegin=pro.getProperty("afternoonbegin");
out.println(stTime+" "+edTime+" "+afternoonbegin);
System.out.println(stTime+" "+edTime+" "+afternoonbegin);
%>
</body>
</html>
D. 怎么在java中使用dom解析XML文件中标签属性值 有哪些要注意的地方
public
static
void
main(String[]
args)
{
DocumentBuilderFactory
dbf
=
DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder
db
=
dbf.newDocumentBuilder();
Document
doc
=
db.parse("d:/test.xml");
//xml文件的绝对目录
//得到根节点
Element
root
=
doc.getDocumentElement();
//通过节点的名字获得值
NodeList
nl
=
root.getElementsByTagName("HLR");
Element
e
=
(Element)
nl.item(0);
String
hlrId=e.getAttribute("HlrId");
System.out.println(hlrId);
}catch(Exception
e){
e.printStackTrace();
}
}
E. 如何用java获得xml文件中标签的属性列表值
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;public class MyXMLReader2JDOM {
public static void main(String arge[]) {
long lasting = System.currentTimeMillis();
try {
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new File("xmlcount.xml"));
Element foo = doc.getRootElement();
// List allChildren = foo.getChildren();
System.out.print( foo.getAttributeValue("month-count"));
System.out.println(foo.getAttributeValue("total-count"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
F. java怎么通过xml节点的属性获取这个节点的值
创建解析器
SAXReader saxreader = new SAXReader();读取文档
Document doc = saxreader.read(new File("url"));获取根
Element root = doc.getRootElement();获取子节点
List<Element> list = root.elements();System.out.println(e.elementText("name"));
System.out.println(e.element("score").attributeValue("java"));
G. .java中怎样获取xml中节点属性,即:下文 aa 的值
直接上代码了
importjava.io.IOException;
importjavax.xml.parsers.DocumentBuilder;
importjavax.xml.parsers.DocumentBuilderFactory;
importjavax.xml.parsers.ParserConfigurationException;
importorg.w3c.dom.Document;
importorg.w3c.dom.Element;
importorg.w3c.dom.NodeList;
importorg.xml.sax.SAXException;
publicclassParserxml{
publicstaticvoidmain(String[]args)throwsException{
getDataFromXml("NewFile.xml");
}
(Stringxmlpath)
,SAXException,IOException{
DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();
DocumentBuilderdb=dbf.newDocumentBuilder();
Documentdoc=db.parse(xmlpath);
doc.normalize();
NodeListlinks=doc.getElementsByTagName("proctData");
ElementitemLink=(Element)links.item(0).getChildNodes().item(1);
Stringstr=itemLink.getElementsByTagName("height").item(0).getAttributes().getNamedItem("aa").getNodeValue();
System.out.println("str-->"+str);//
}
}
H. 如何用java取得XML节点的属性值
下个dom4j包我下面的方法笨了点不知道还有好的不
import java.io.File;
import java.util.Iterator;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
public class ResultXmlTest1 {
public static void main(String args[])
{
SAXReader reader=new SAXReader();
try
{
Document doc=reader.read(new File("result.xml"));
Element root=doc.getRootElement();
for(Iterator ite=root.elementIterator();ite.hasNext();)
{
Element ele=(Element)ite.next();
for(Iterator iter=ele.elementIterator();iter.hasNext();)
{
Element elem=(Element)iter.next();
//System.out.println(elem.getName());
for(Iterator itera=elem.elementIterator();itera.hasNext();)
{
Element eleme=(Element)itera.next();
//System.out.println(eleme.getName());
for(Iterator iterat=eleme.elementIterator();iterat.hasNext();)
{
Element elemem=(Element)iterat.next();
//System.out.println(elemem.getName());
for(Iterator iterato=elemem.elementIterator();iterato.hasNext();)
{
Element elememe=(Element)iterato.next();
//System.out.println(elememe.getName());
for(Iterator last=elememe.elementIterator();last.hasNext();)
{
Element elemLast=(Element)last.next();
//System.out.println(elemLast.getName());
for(Iterator at=elemLast.attributeIterator();at.hasNext();)
{
Attribute att=(Attribute)at.next();
if(att.getName().equals("start"))
System.out.println(att.getText());
}
}
}
}
}
}
}
}catch(DocumentException e)
{
e.printStackTrace();
}
}
}