- 浏览: 292040 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
lliiqiang:
关键在于业务也正确,数据格式只是一种声明协议
XML验证 -
koubi1986:
你好!请教一些问题:请问一下1。你是如何把nutch抓取到的二 ...
Nutch应用 -
juda:
你的希尔排序有问题, for( int i = d; i & ...
排序--插入排序 -
hamlzf:
这个例子很不错
JProfiler学习笔记 -
白色熊猫:
应该下面还有啊 ,看不到啊 麻烦贴出来下 谢谢了
多线程编程 高级主题(二)注:转
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
import org.jdom.xpath.XPath;
/**
* Jdom解析XML
*
* @FileName:XMLUtil.java
* @author Javer.Leo (QQ:84831612)
* @date 2006-8-16
*/
public final class XMLUtil
{
/**
* 定义xml编码方式
*/
public static final String ENCODE_GBK = "GBK";
public static final String ENCODE_UTF8 = "UTF-8";
public static final String ENCODE_UTF16 = "UTF-16";
public static final String ENCODE_GB2312 = "gb2312";
public static final String ENCODE_ISO8859 = "ISO8859-1";
private static Format format = Format.getPrettyFormat();
static {
format.setEncoding(ENCODE_UTF8);
}
/**
* Read and parse an xml document from the file at xml/sample.xml.
* This method corresponds to the code in Listing 7.
* @param filePath 要解析的xml文件路径
* @return the JDOM document parsed from the file.
* @throws IOException
*/
public static Document readDocument(String filePath) throws IOException {
try {
SAXBuilder builder = new SAXBuilder(false);
Document anotherDocument = builder.build(new File(filePath));
return anotherDocument;
} catch(Exception e) {
e.printStackTrace();
throw new IOException(e.getMessage());
}
}
/**
* Read and parse an xml document from the file at xml/sample.xml.
* This method corresponds to the code in Listing 7.
* @param filePath 要解析的xml文件路径
* @return the JDOM document parsed from the file.
* @throws IOException
*/
public static Document readDocument(InputStream input) throws IOException {
try {
SAXBuilder builder = new SAXBuilder(false);
Document anotherDocument = builder.build(input);
input.close();
return anotherDocument;
} catch(Exception e) {
throw new IOException(e.getMessage());
}
}
/**
* 读取xml文件
* @param srcFile 目标文件
* @return DOM对象
* @throws IOException
*/
public static Document readDocument(File srcFile) throws IOException {
try {
SAXBuilder builder = new SAXBuilder();
Document anotherDocument = builder.build(srcFile);
return anotherDocument;
} catch(Exception e) {
throw new IOException(e.getMessage());
}
}
/**
* 向指定的文档模型添加指定元素标识名称的元素
* @param document 要添加元素的文档模型
* @param elementName 要添加的元素标识名称
* @param parentElementPath 父元素路径
* @return
*/
public static void addElement(Object document,String parentElementPath,String elementName){
try{
Element parentElement;
parentElement = (Element)XPath.selectSingleNode(document,parentElementPath);
Element newElement = new Element(elementName);
parentElement.addContent(newElement);
} catch (Exception e1) {
e1.printStackTrace();
}
}
/**
* 向指定的文档模型添加已创建元素
* @param document 要添加元素的文档模型
* @param newElement 要添加的新元素
* @param parentElementPath 父元素路径
* @return
*/
public static void addElement(Object document,String parentElementPath,Element newElement){
try{
Element parentElement;
parentElement = (Element)XPath.selectSingleNode(document,parentElementPath);
parentElement.addContent(newElement);
} catch (Exception e1) {
e1.printStackTrace();
}
}
/**
* 获取指定子元素路径的子元素列表
* @param document the JDOM document built from Listing 2
* @param visitedNodeName 指定要访问的子节点元素名称
* @return 返回指定元素路径的子元素列表
*/
public static List getChildrenElement(Object document,String visitedNodeName) {
List visitElements = null;
try {
visitElements = XPath.selectNodes(document,visitedNodeName);
} catch (Exception e) {
e.printStackTrace();
}
return visitElements;
}
/**
* 获取指定子元素路径名称和属性名称及值的元素
* @param document the JDOM document built from Listing 2
* @param visitedNodeName 指定要访问的子节点元素名称
* @param attributeName 属性名称
* @param attributeValue 属性值
* @return 返回指定的元素
*/
public static Element getChildElement(Object document,String visitedNodeName,String attributeName,String attributeValue) {
Element visitElement = null;
try {
visitElement = (Element)XPath.selectSingleNode(document,visitedNodeName+"[@"+attributeName+"='"+attributeValue+"']");
} catch (Exception e) {
e.printStackTrace();
}
return visitElement;
}
/**
* 获取指定子元素路径名称和属性名称及值的元素
* @param document the JDOM document built from Listing 2
* @param visitedNodeName 指定要访问的子节点元素名称
* @return 返回指定的元素
*/
public static Element getChildElement(Object document,String visitedNodeName) {
Element visitElement = null;
try {
visitElement = (Element)XPath.selectSingleNode(document,visitedNodeName);
} catch (Exception e) {
e.printStackTrace();
}
return visitElement;
}
/**
* 删除指定元素节点路径的元素
* @param removeNodeName 要删除的元素路径
* @param document xml文件对应的文档模型
*/
public static boolean removeChildElement(Object document,String removeNodeName) {
Element visitElement = null;
boolean isRemoved = false;
try {
visitElement = (Element)XPath.selectSingleNode(document,removeNodeName);
if(visitElement != null)
isRemoved = visitElement.getParentElement().removeContent(visitElement);
} catch (Exception e) {
e.printStackTrace();
}
return isRemoved;
}
/**
* 删除指定属性的元素
* @param document xml文件对应的文档模型
* @param removeNodeName 要删除的节点元素路径
* @param attributeName 属性名称
* @param attributeValue 属性值
* @return
*/
public static boolean removeChildElement(Object document,String removeNodeName ,String attributeName,String attributeValue) {
List removeElements = null;
Element visitElement = null;
boolean isRemoved = false;
try {
removeElements = XPath.selectNodes(document,removeNodeName+"[@"+attributeName+"='"+attributeValue+"']");
if(removeElements != null){
for (int i = 0; i < removeElements.size(); i++) {
visitElement = (Element) removeElements.get(i);
isRemoved = visitElement.getParentElement().removeContent(visitElement);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return isRemoved;
}
/**
* 将xml文档模型输出到标准输出设备(屏幕)
* @param document 指定的xml文档模型
*/
public static void outputDocument(Document document) {
format.setIndent(" ");
format.setExpandEmptyElements(false);
try {
XMLOutputter outputter = new XMLOutputter(format);
outputter.output(document, System.out);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将xml文档模型输出到标准输出设备(流)
* @param document 指定的xml文档模型
*/
public static void outputDocument(Document document,OutputStream output) {
format.setIndent(" ");
format.setExpandEmptyElements(false);
try {
XMLOutputter outputter = new XMLOutputter(format);
outputter.output(document, output);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将xml文档模型输出到指定文件
* @param document 指定的xml文档模型
* @param outputFilePath 输出文件路径
*/
public static void outputDocumentToFile(Document document,String outputFilePath) {
outputDocumentToFile(document,outputFilePath,ENCODE_GB2312);
}
/**
* 将xml文档模型输出到指定文件
* @param document 指定的xml文档模型
* @param outputFilePath 输出文件路径
* @param encodingMode 编码方式
*/
public static void outputDocumentToFile(Document document,String outputFilePath,String encodingMode) {
format.setEncoding(encodingMode);
format.setIndent(" ");
format.setExpandEmptyElements(false);
FileWriter writer = null;
try {
XMLOutputter outputter = new XMLOutputter(format);
writer = new FileWriter(outputFilePath);
outputter.output(document, writer);
writer.close();
}catch(Exception ep) {
ep.printStackTrace();
}
finally{
try {
if(writer != null)
writer.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
/**
* 将将xml文档模型输出到指定字符串
* @param document 指定的xml文档模型
* @return 返回document的内容
*/
public static String outputDocumentString(Document document){
return outputDocumentString(document,ENCODE_GBK);
}
/**
* 将将xml文档模型输出到指定字符串
* @param document 指定的xml文档模型
* @param encodingMode 编码格式
* @return 返回document的内容
*/
public static String outputDocumentString(Document document,String encodingMode){
format.setEncoding(encodingMode);
format.setIndent(" ");
format.setExpandEmptyElements(false);
XMLOutputter outputter = new XMLOutputter(format);
return outputter.outputString(document);
}
/**
* This method takes a JDOM document in memory, an xsl file at xml/car.xsl,
* and outputs the results to stdout.
* This method corresponds to Listing 9.
* @param myDocument the JDOM document built from Listing 2.
*/
// public static void executeXSL(Document myDocument) {
// try {
// TransformerFactory tFactory = TransformerFactory.newInstance();
// // Make the input sources for the XML and XSLT documents
// org.jdom.output.DOMOutputter outputter = new org.jdom.output.DOMOutputter();
// org.w3c.dom.Document domDocument = outputter.output(myDocument);
// javax.xml.transform.Source xmlSource = new javax.xml.transform.dom.DOMSource(domDocument);
// StreamSource xsltSource = new StreamSource(new FileInputStream("car.xsl"));
// //Make the output result for the finished document
// /*
// * Note that here we are just going to output the results to the
// * System.out, since we don't actually have a HTTPResponse object
// * in this example
// */
// //StreamResult xmlResult = new StreamResult(response.getOutputStream());
// StreamResult xmlResult = new StreamResult(System.out);
// //Get a XSLT transformer
// Transformer transformer = tFactory.newTransformer(xsltSource);
// //do the transform
// transformer.transform(xmlSource, xmlResult);
// } catch(FileNotFoundException e) {
// e.printStackTrace();
// } catch(TransformerConfigurationException e) {
// e.printStackTrace();
// } catch(TransformerException e) {
// e.printStackTrace();
// } catch(org.jdom.JDOMException e) {
// e.printStackTrace();
// }
// }
/**
* 修改指定节点元素的属性
* @param document
* @param nodePath
* @param name
* @param value
*/
public static void setElementAttributeValue(Object document,String nodePath,String name,String value){
try {
((Element)XPath.selectSingleNode(document,nodePath)).setAttribute(name,value);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 修改指定节点元素的属性
* @param document
* @param nodePath
* @param attrName
* @param attrValue
* @param name
* @param value
*/
public static void setElementAttributeValue(Object document,String nodePath,String attrName,String attrValue,String name,String value){
nodePath +="[@" + attrName + "='" + attrValue + "']";
setElementAttributeValue(document,nodePath,name,value);
}
/**
* 修改指定节点元素的内容
* @param document
* @param nodePath
* @param text
*/
public static void setElementText(Object document,String nodePath,String text){
try {
((Element)XPath.selectSingleNode(document,nodePath)).setText(text);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 修改指定节点元素的内容
* @param document
* @param nodePath
* @param attrName
* @param attrValue
* @param text
*/
public static void setElementText(Object document,String nodePath,String attrName,String attrValue,String text){
nodePath +="[@" + attrName + "='" + attrValue + "']";
setElementText(document,nodePath,text);
}
/**
* 设置xml的编码格式
* @param encode
*/
public static void setEncoding(String encode){
format.setEncoding(encode);
}
/**
* 用DTD文档类型定义校验xml文档
* @param content
* @return
*/
// public static boolean validate(){
// SAXBuilder builder = new SAXBuilder(true);
// try{
// // Jdom complains about the document even though it is valid
// ByteArrayInputStream bais=new ByteArrayInputStream(content.getBytes());
// builder.build(bais);
// return true;
//
// } catch (Exception e) {
//
// return false;
//
// }
//
// }
public static void main(String[] args) throws Exception
{
Document doc = XMLUtil.readDocument("test.xml");
List shapes = XMLUtil.getChildrenElement(doc, "javer/leo/example");
for(int i=0;i {
System.out.println(XMLUtil.getChildElement(shapes.get(i), "id").getText());
}
}
}
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
import org.jdom.xpath.XPath;
/**
* Jdom解析XML
*
* @FileName:XMLUtil.java
* @author Javer.Leo (QQ:84831612)
* @date 2006-8-16
*/
public final class XMLUtil
{
/**
* 定义xml编码方式
*/
public static final String ENCODE_GBK = "GBK";
public static final String ENCODE_UTF8 = "UTF-8";
public static final String ENCODE_UTF16 = "UTF-16";
public static final String ENCODE_GB2312 = "gb2312";
public static final String ENCODE_ISO8859 = "ISO8859-1";
private static Format format = Format.getPrettyFormat();
static {
format.setEncoding(ENCODE_UTF8);
}
/**
* Read and parse an xml document from the file at xml/sample.xml.
* This method corresponds to the code in Listing 7.
* @param filePath 要解析的xml文件路径
* @return the JDOM document parsed from the file.
* @throws IOException
*/
public static Document readDocument(String filePath) throws IOException {
try {
SAXBuilder builder = new SAXBuilder(false);
Document anotherDocument = builder.build(new File(filePath));
return anotherDocument;
} catch(Exception e) {
e.printStackTrace();
throw new IOException(e.getMessage());
}
}
/**
* Read and parse an xml document from the file at xml/sample.xml.
* This method corresponds to the code in Listing 7.
* @param filePath 要解析的xml文件路径
* @return the JDOM document parsed from the file.
* @throws IOException
*/
public static Document readDocument(InputStream input) throws IOException {
try {
SAXBuilder builder = new SAXBuilder(false);
Document anotherDocument = builder.build(input);
input.close();
return anotherDocument;
} catch(Exception e) {
throw new IOException(e.getMessage());
}
}
/**
* 读取xml文件
* @param srcFile 目标文件
* @return DOM对象
* @throws IOException
*/
public static Document readDocument(File srcFile) throws IOException {
try {
SAXBuilder builder = new SAXBuilder();
Document anotherDocument = builder.build(srcFile);
return anotherDocument;
} catch(Exception e) {
throw new IOException(e.getMessage());
}
}
/**
* 向指定的文档模型添加指定元素标识名称的元素
* @param document 要添加元素的文档模型
* @param elementName 要添加的元素标识名称
* @param parentElementPath 父元素路径
* @return
*/
public static void addElement(Object document,String parentElementPath,String elementName){
try{
Element parentElement;
parentElement = (Element)XPath.selectSingleNode(document,parentElementPath);
Element newElement = new Element(elementName);
parentElement.addContent(newElement);
} catch (Exception e1) {
e1.printStackTrace();
}
}
/**
* 向指定的文档模型添加已创建元素
* @param document 要添加元素的文档模型
* @param newElement 要添加的新元素
* @param parentElementPath 父元素路径
* @return
*/
public static void addElement(Object document,String parentElementPath,Element newElement){
try{
Element parentElement;
parentElement = (Element)XPath.selectSingleNode(document,parentElementPath);
parentElement.addContent(newElement);
} catch (Exception e1) {
e1.printStackTrace();
}
}
/**
* 获取指定子元素路径的子元素列表
* @param document the JDOM document built from Listing 2
* @param visitedNodeName 指定要访问的子节点元素名称
* @return 返回指定元素路径的子元素列表
*/
public static List getChildrenElement(Object document,String visitedNodeName) {
List visitElements = null;
try {
visitElements = XPath.selectNodes(document,visitedNodeName);
} catch (Exception e) {
e.printStackTrace();
}
return visitElements;
}
/**
* 获取指定子元素路径名称和属性名称及值的元素
* @param document the JDOM document built from Listing 2
* @param visitedNodeName 指定要访问的子节点元素名称
* @param attributeName 属性名称
* @param attributeValue 属性值
* @return 返回指定的元素
*/
public static Element getChildElement(Object document,String visitedNodeName,String attributeName,String attributeValue) {
Element visitElement = null;
try {
visitElement = (Element)XPath.selectSingleNode(document,visitedNodeName+"[@"+attributeName+"='"+attributeValue+"']");
} catch (Exception e) {
e.printStackTrace();
}
return visitElement;
}
/**
* 获取指定子元素路径名称和属性名称及值的元素
* @param document the JDOM document built from Listing 2
* @param visitedNodeName 指定要访问的子节点元素名称
* @return 返回指定的元素
*/
public static Element getChildElement(Object document,String visitedNodeName) {
Element visitElement = null;
try {
visitElement = (Element)XPath.selectSingleNode(document,visitedNodeName);
} catch (Exception e) {
e.printStackTrace();
}
return visitElement;
}
/**
* 删除指定元素节点路径的元素
* @param removeNodeName 要删除的元素路径
* @param document xml文件对应的文档模型
*/
public static boolean removeChildElement(Object document,String removeNodeName) {
Element visitElement = null;
boolean isRemoved = false;
try {
visitElement = (Element)XPath.selectSingleNode(document,removeNodeName);
if(visitElement != null)
isRemoved = visitElement.getParentElement().removeContent(visitElement);
} catch (Exception e) {
e.printStackTrace();
}
return isRemoved;
}
/**
* 删除指定属性的元素
* @param document xml文件对应的文档模型
* @param removeNodeName 要删除的节点元素路径
* @param attributeName 属性名称
* @param attributeValue 属性值
* @return
*/
public static boolean removeChildElement(Object document,String removeNodeName ,String attributeName,String attributeValue) {
List removeElements = null;
Element visitElement = null;
boolean isRemoved = false;
try {
removeElements = XPath.selectNodes(document,removeNodeName+"[@"+attributeName+"='"+attributeValue+"']");
if(removeElements != null){
for (int i = 0; i < removeElements.size(); i++) {
visitElement = (Element) removeElements.get(i);
isRemoved = visitElement.getParentElement().removeContent(visitElement);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return isRemoved;
}
/**
* 将xml文档模型输出到标准输出设备(屏幕)
* @param document 指定的xml文档模型
*/
public static void outputDocument(Document document) {
format.setIndent(" ");
format.setExpandEmptyElements(false);
try {
XMLOutputter outputter = new XMLOutputter(format);
outputter.output(document, System.out);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将xml文档模型输出到标准输出设备(流)
* @param document 指定的xml文档模型
*/
public static void outputDocument(Document document,OutputStream output) {
format.setIndent(" ");
format.setExpandEmptyElements(false);
try {
XMLOutputter outputter = new XMLOutputter(format);
outputter.output(document, output);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将xml文档模型输出到指定文件
* @param document 指定的xml文档模型
* @param outputFilePath 输出文件路径
*/
public static void outputDocumentToFile(Document document,String outputFilePath) {
outputDocumentToFile(document,outputFilePath,ENCODE_GB2312);
}
/**
* 将xml文档模型输出到指定文件
* @param document 指定的xml文档模型
* @param outputFilePath 输出文件路径
* @param encodingMode 编码方式
*/
public static void outputDocumentToFile(Document document,String outputFilePath,String encodingMode) {
format.setEncoding(encodingMode);
format.setIndent(" ");
format.setExpandEmptyElements(false);
FileWriter writer = null;
try {
XMLOutputter outputter = new XMLOutputter(format);
writer = new FileWriter(outputFilePath);
outputter.output(document, writer);
writer.close();
}catch(Exception ep) {
ep.printStackTrace();
}
finally{
try {
if(writer != null)
writer.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
/**
* 将将xml文档模型输出到指定字符串
* @param document 指定的xml文档模型
* @return 返回document的内容
*/
public static String outputDocumentString(Document document){
return outputDocumentString(document,ENCODE_GBK);
}
/**
* 将将xml文档模型输出到指定字符串
* @param document 指定的xml文档模型
* @param encodingMode 编码格式
* @return 返回document的内容
*/
public static String outputDocumentString(Document document,String encodingMode){
format.setEncoding(encodingMode);
format.setIndent(" ");
format.setExpandEmptyElements(false);
XMLOutputter outputter = new XMLOutputter(format);
return outputter.outputString(document);
}
/**
* This method takes a JDOM document in memory, an xsl file at xml/car.xsl,
* and outputs the results to stdout.
* This method corresponds to Listing 9.
* @param myDocument the JDOM document built from Listing 2.
*/
// public static void executeXSL(Document myDocument) {
// try {
// TransformerFactory tFactory = TransformerFactory.newInstance();
// // Make the input sources for the XML and XSLT documents
// org.jdom.output.DOMOutputter outputter = new org.jdom.output.DOMOutputter();
// org.w3c.dom.Document domDocument = outputter.output(myDocument);
// javax.xml.transform.Source xmlSource = new javax.xml.transform.dom.DOMSource(domDocument);
// StreamSource xsltSource = new StreamSource(new FileInputStream("car.xsl"));
// //Make the output result for the finished document
// /*
// * Note that here we are just going to output the results to the
// * System.out, since we don't actually have a HTTPResponse object
// * in this example
// */
// //StreamResult xmlResult = new StreamResult(response.getOutputStream());
// StreamResult xmlResult = new StreamResult(System.out);
// //Get a XSLT transformer
// Transformer transformer = tFactory.newTransformer(xsltSource);
// //do the transform
// transformer.transform(xmlSource, xmlResult);
// } catch(FileNotFoundException e) {
// e.printStackTrace();
// } catch(TransformerConfigurationException e) {
// e.printStackTrace();
// } catch(TransformerException e) {
// e.printStackTrace();
// } catch(org.jdom.JDOMException e) {
// e.printStackTrace();
// }
// }
/**
* 修改指定节点元素的属性
* @param document
* @param nodePath
* @param name
* @param value
*/
public static void setElementAttributeValue(Object document,String nodePath,String name,String value){
try {
((Element)XPath.selectSingleNode(document,nodePath)).setAttribute(name,value);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 修改指定节点元素的属性
* @param document
* @param nodePath
* @param attrName
* @param attrValue
* @param name
* @param value
*/
public static void setElementAttributeValue(Object document,String nodePath,String attrName,String attrValue,String name,String value){
nodePath +="[@" + attrName + "='" + attrValue + "']";
setElementAttributeValue(document,nodePath,name,value);
}
/**
* 修改指定节点元素的内容
* @param document
* @param nodePath
* @param text
*/
public static void setElementText(Object document,String nodePath,String text){
try {
((Element)XPath.selectSingleNode(document,nodePath)).setText(text);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 修改指定节点元素的内容
* @param document
* @param nodePath
* @param attrName
* @param attrValue
* @param text
*/
public static void setElementText(Object document,String nodePath,String attrName,String attrValue,String text){
nodePath +="[@" + attrName + "='" + attrValue + "']";
setElementText(document,nodePath,text);
}
/**
* 设置xml的编码格式
* @param encode
*/
public static void setEncoding(String encode){
format.setEncoding(encode);
}
/**
* 用DTD文档类型定义校验xml文档
* @param content
* @return
*/
// public static boolean validate(){
// SAXBuilder builder = new SAXBuilder(true);
// try{
// // Jdom complains about the document even though it is valid
// ByteArrayInputStream bais=new ByteArrayInputStream(content.getBytes());
// builder.build(bais);
// return true;
//
// } catch (Exception e) {
//
// return false;
//
// }
//
// }
public static void main(String[] args) throws Exception
{
Document doc = XMLUtil.readDocument("test.xml");
List shapes = XMLUtil.getChildrenElement(doc, "javer/leo/example");
for(int i=0;i {
System.out.println(XMLUtil.getChildElement(shapes.get(i), "id").getText());
}
}
}
发表评论
-
跟我学XSL(七)
2006-09-24 18:28 1353本课学习在XSL中使用脚本。 <xsl:eval> ... -
跟我学XSL(六)
2006-09-24 18:17 1393这课学习XSL的函数 一、end() 含义:返回集合中最后一 ... -
跟我学XSL(五)
2006-09-24 18:09 1368本课学习各种运算符,满足编写更大灵活性的XSL样式的要求。 表 ... -
跟我学XSL(四)
2006-09-24 17:49 1276<xsl:choose> 语法:<xsl:c ... -
跟我学XSL(三)
2006-09-24 17:33 1325<xsl:if> 语法: <xsl:if ... -
跟我学XSL(二)
2006-09-24 17:29 1431书写模板(块):<xsl:template> &l ... -
跟我学XSL(一)
2006-09-24 16:21 1413个人简历表示,方式有如下两种: 1、HTML表示 resume ... -
XML验证
2006-09-24 15:48 6115XML文档必须严格遵守语法规范,即都必须是“格式良好的”。同时 ... -
DOM
2006-09-24 15:47 1436Document Object Model(文档对象模型)简称 ... -
绑定XML
2006-09-24 15:45 1613Web服务器与客户机之间的数据传递方式有三种: HTML页面、 ... -
XML显示
2006-09-24 15:38 1336XML文档本身只描述数据内容,它的显示功能由样式单来完 ... -
XML的名称空间
2006-09-24 15:31 1314XML文档中很可能会定义许多名字相同而意义不同的元素或属性,尤 ... -
XML的开发工具
2006-09-24 15:28 1488开发XML有许多工具可以使用: ● Notepad:最直接 ... -
xsl样式单
2006-09-24 10:23 1785XML文档的一大特点是 ... -
xml模式(Schema)
2006-09-23 22:08 24681. 最简单的Schema文档 hello.xml < ... -
DTD基础
2006-09-23 11:42 1148元素声明: <!ELEMENT elementname ... -
xhtml基础
2006-09-23 09:48 1106XHML标准是用HTML实现的XML,与HTML的区别是其规则 ... -
xml基础
2006-09-23 09:40 1250xml文档必须遵守两个标 ... -
xml文件解析
2006-09-23 09:19 2552xml有四种解析器 1、DOM ...
相关推荐
本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过Document对象表示整个XML文档,Element代表XML元素,Attribute表示元素属性,Text表示元素内的文本内容。这些类构成了...
在这个例子中,我们将深入探讨如何使用JDOM解析XML文件,并进行遍历与构建。 首先,我们需要了解JDOM的基本概念。JDOM主要由三部分构成:SAXBuilder用于从XML源构建DOM树,Element代表XML文档的元素,Attribute代表...
在Java中,解析XML文件是常见的任务,其中DOM(Document Object Model)和JDOM是两种常用的方法。 DOM解析是XML解析的一种方式,它将整个XML文档加载到内存中,形成一个树形结构,称为DOM树。每个节点代表XML文档的...
Java 使用 JDOM 解析 XML 文件 Java 是一种广泛使用的程序设计语言,而 XML 是一种广泛使用的标记语言,用于存储和传输数据。在 Java 中,解析 XML 文件是一件常见的任务,而 JDOM 是一个流行的开源库,用于解析和...
以上就是使用JDOM解析XML文件的基本流程和关键知识点。通过JDOM,你可以轻松地处理XML文档,无论是读取还是修改,都变得轻而易举。在实际开发中,掌握XML和JDOM的操作对于处理结构化数据和接口通信至关重要。
下面通过一个具体的例子来展示如何使用JDOM解析XML文件。 假设我们有如下的XML文件(`example.xml`): ```xml <?xml version="1.0" encoding="UTF-8"?> 张三</name> <age>30</age> </person> 李四</name...
在提供的`parse()`方法中,可以看到如何使用JDOM解析XML文件。首先,通过`SAXBuilder`类创建一个解析器实例,然后调用`build()`方法,传入XML文件的路径,将XML文件转换为`Document`对象。`Document`对象是JDOM中的...
通过上述步骤,你就能使用JDOM有效地读取、解析和修改XML文件了。这个库提供了丰富的功能,能够满足大部分XML处理需求,同时它的API简洁直观,使得开发人员能快速上手。在实际应用中,结合JDOM与其他工具,如XPath...
Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...
在这个教程中,我们将深入探讨如何在JSP(JavaServer Pages)环境中使用JDOM解析XML。 **1. JDOM基本概念** JDOM的核心在于两个主要类:`Element`和`Document`。`Element`代表XML文档中的一个节点,而`Document`则...
使用JDOM解析XML的基本步骤如下: 1. **创建SAXBuilder对象**:首先创建`SAXBuilder`对象。 ```java SAXBuilder saxBuilder = new SAXBuilder(); ``` 2. **构建Document对象**:使用`SAXBuilder`解析XML文件...
使用JDOM解析XML文档通常包括以下几个步骤: 1. 创建`SAXBuilder`实例,这是JDOM提供的解析器,可以将XML输入源转换为`Document`对象。 2. 使用`SAXBuilder`的`build`方法读取XML文件,生成`Document`对象。 3. ...
以下是JDOM解析XML的一个例子: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; public class JdomExample { public static void parseXML() { try { ...
为了使用这个库,你需要将该jar包添加到项目的类路径中,然后就可以通过DOM4J提供的类和方法来解析和操作XML文件了。 总之,DOM4J是一个功能强大的XML处理库,无论是在小型项目还是大型系统中,都能发挥其优势,...
1. `JDOMUtil.java`:这是一个Java类,包含了使用JDOM解析XML的主要代码。在这个例子中,我们将学习如何读取XML文件,创建一个`SAXBuilder`对象来构建XML文档的DOM(文档对象模型)表示,然后通过`Document`对象来...
以下是一个简单的示例代码,演示了如何使用JDOM解析XML文件: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import java.io.File; public class ...
### DOM、JDOM、DOM4J解析XML实例详解 #### DOM 方式解析 XML 实例解析 ##### 一、DOM 概述与应用实例 DOM(Document Object Model)是一种树状结构的标准,用于表示 XML 文档的数据结构。它将 XML 文档视为节点...
### 使用DOM4j解析XML文件:提升开发效率与代码可读性 在现代软件开发中,XML(Extensible Markup Language)是一种广泛使用的数据交换格式,它以人类可读的文本形式存储结构化信息。然而,如何高效、准确地解析XML...
使用DOM方法读取XML文件,需要创建DocumentBuilderFactory对象,获取DocumentBuilder对象,然后解析XML文件得到Document对象。最后,使用Document对象的getElementsByTagName方法获取指定标签的节点列表,并遍历节点...
要使用JDOM解析XML,首先需要将JDOM的jar文件(如jdom.jar)添加到项目的类路径中。此外,由于XML解析通常涉及到其他库,如XPath解析和DTD处理,我们看到压缩包中还包含了一些其他相关的jar文件: 1. xalan.jar:...