杰瑞科技汇

domdom4j如何高效解析XML文件?

添加 dom4j 依赖

你需要在你的项目中添加 dom4j 的依赖,如果你使用 Maven,只需在 pom.xml 文件中添加以下依赖:

domdom4j如何高效解析XML文件?-图1
(图片来源网络,侵删)
<dependency>
    <groupId>org.dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>2.1.4</version> <!-- 建议使用较新版本 -->
</dependency>

如果你不使用 Maven,可以从 Maven 中央仓库 下载 JAR 文件并手动添加到项目的类路径中。


示例 XML 文件

我们将使用以下 books.xml 文件作为解析示例。

books.xml

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
    <book category="children">
        <title lang="en">Harry Potter</title>
        <author>J.K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
    </book>
    <book category="web">
        <title lang="en">Learning XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
    </book>
    <book category="cooking">
        <title lang="zh">Everyday Italian</title>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
</bookstore>

核心解析步骤

使用 dom4j 解析 XML 通常遵循以下步骤:

domdom4j如何高效解析XML文件?-图2
(图片来源网络,侵删)
  1. 创建 SAXReader 对象SAXReaderdom4j 用于读取 XML 文档并构建 DOM 树的核心类。
  2. 读取 XML 文件:使用 SAXReaderread() 方法读取 XML 文件,返回一个 Document 对象,代表整个 XML 文档的树形结构。
  3. 获取根元素:通过 Document 对象的 getRootElement() 方法获取 XML 的根元素(<bookstore>)。
  4. 遍历和查询节点:使用 dom4j 提供的方法(如 elementIterator(), elements(), element())或 XPath 表达式来查找和遍历子元素。
  5. 获取节点信息:获取元素的名称、属性、文本内容等。
  6. 处理数据:根据获取的数据进行业务逻辑处理。

代码示例

下面是一个完整的 Java 类,演示了如何读取 books.xml 文件并打印出所有书籍的信息。

import org.dom4j.*;
import org.dom4j.io.SAXReader;
import java.io.File;
import java.util.List;
public class Dom4jParser {
    public static void main(String[] args) {
        try {
            // 1. 创建 SAXReader 对象
            SAXReader reader = new SAXReader();
            // 2. 读取 XML 文件,获取 Document 对象
            // 注意:请确保 books.xml 文件位于项目的根目录下,或提供正确的路径
            Document document = reader.read(new File("books.xml"));
            // 3. 获取根元素
            Element rootElement = document.getRootElement();
            System.out.println("根元素是: " + rootElement.getName());
            System.out.println("----------------------------------------");
            // 4. 遍历所有 <book> 元素
            // 使用 elementIterator 遍历所有名为 "book" 的直接子元素
            Iterator<Element> bookIterator = rootElement.elementIterator("book");
            while (bookIterator.hasNext()) {
                Element bookElement = bookIterator.next();
                // 5. 获取元素属性
                String category = bookElement.attributeValue("category");
                System.out.println("书籍类别: " + category);
                // 6. 获取子元素信息
                // element() 方法获取第一个匹配的子元素
                Element titleElement = bookElement.element("title");
                Element authorElement = bookElement.element("author");
                Element yearElement = bookElement.element("year");
                Element priceElement = bookElement.element("price");
                // 获取元素的文本内容
                String title = titleElement.getText();
                String author = authorElement.getText();
                String year = yearElement.getText();
                String price = priceElement.getText();
                // 获取子元素的属性
                String lang = titleElement.attributeValue("lang");
                System.out.println("  - 书名: " + title + " (语言: " + lang + ")");
                System.out.println("  - 作者: " + author);
                System.out.println("  - 年份: " + year);
                System.out.println("  - 价格: " + price);
                System.out.println("----------------------------------------");
            }
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

代码解释:

  1. SAXReader reader = new SAXReader();:创建解析器。
  2. reader.read(new File("books.xml"));:从文件系统加载 XML 并解析成 Document 对象。
  3. document.getRootElement();:获取文档的根节点 <bookstore>
  4. rootElement.elementIterator("book");:获取一个迭代器,用于遍历根元素下所有名为 book 的直接子元素。
  5. bookElement.attributeValue("category");:获取当前 <book> 元素的 category 属性的值。
  6. bookElement.element("title");:获取当前 <book> 元素下第一个名为 title 的子元素,Element.getText();获取<code>元素内的文本内容("Harry Potter"),Element.attributeValue("lang");</code>:获取 <code><title></code> 元素的 <code>lang</code> 属性的值。</li> </ol> <hr /> <h2>使用 XPath 进行高级查询</h2> <p><code>dom4j</code> 的一个强大之处在于它对 XPath 的原生支持,XPath 可以让你用更简洁、更强大的方式定位 XML 节点。</p> <h3>示例1:获取所有书籍的标题</h3> <pre class="fry543tr234rfh5h04a75d7efd03bb1b brush:java;toolbar:false">// 使用 XPath 获取所有 <title> 元素 List<Node> titleNodes = document.selectNodes("//title"); for (Node node : titleNodes) { Element titleElement = (Element) node; System.out.println("通过 XPath 找到的书名: " + titleElement.getText()); }</pre> <ul> <li><code>//title</code>:这是一个 XPath 表达式,表示文档中任意层级的所有 <code>title</code> 元素。</li> </ul> <h3>示例2:获取特定类别(category="children")的书籍信息</h3> <pre class="fry543tr234rfh5h04a75d7efd03bb1b brush:java;toolbar:false">// 使用 XPath 获取 category 属性为 "children" 的 <book> 元素 String xpath = "//book[@category='children']"; Node node = document.selectSingleNode(xpath); if (node != null) { Element bookElement = (Element) node; System.out.println("\n找到类别为 'children' 的书籍:"); System.out.println("书名: " + bookElement.element("title").getText()); System.out.println("作者: " + bookElement.element("author").getText()); }</pre> <ul> <li><code>//book[@category='children']</code>:查找所有 <code>book</code> 元素,且其 <code>category</code> 属性的值等于 <code>'children'</code>。</li> <li><code>selectSingleNode()</code>:只返回第一个匹配的节点。</li> </ul> <h3>示例3:获取价格高于 35 的书籍标题</h3> <pre class="fry543tr234rfh5h04a75d7efd03bb1b brush:java;toolbar:false">// 获取所有 <price> 元素,并过滤其文本内容大于 35 的 List<Node> expensiveBooks = document.selectNodes("//book[price > 35]/title"); System.out.println("\n价格高于 35 的书籍标题:"); for (Node node : expensiveBooks) { System.out.println(node.getText()); }</pre> <ul> <li><code>//book[price > 35]/title</code>:<ul> <li><code>//book</code>:查找所有 <code>book</code> 元素。</li> <li><code>[price > 35]</code>:这是一个谓词(predicate),用于过滤 <code>book</code> 元素,条件是其子元素 <code><price></code> 的文本内容大于 35。</li> <li><code>/title</code>:只返回满足条件的 <code>book</code> 元素的 <code>title</code> 子元素。</li> </ul> </li> </ul> <hr /> <h2>创建和修改 XML</h2> <p><code>dom4j</code> 不仅可以解析 XML,还可以用来创建和修改 XML。</p> <h3>创建新 XML</h3> <pre class="fry543tr234rfh5h04a75d7efd03bb1b brush:java;toolbar:false">import org.dom4j.DocumentHelper; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; public class CreateXml { public static void main(String[] args) throws Exception { // 1. 创建一个 Document 对象 Document document = DocumentHelper.createDocument(); // 2. 添加根元素 Element root = document.addElement("root"); // 3. 在根元素下添加子元素 Element child1 = root.addElement("child1").addAttribute("id", "001"); child1.setText("这是第一个子元素"); Element child2 = root.addElement("child2"); child2.addComment("这是一个注释"); // 4. 设置格式并写入文件 OutputFormat format = OutputFormat.createPrettyPrint(); // 美化输出 XMLWriter writer = new XMLWriter(new java.io.FileWriter("new_books.xml"), format); writer.write(document); writer.close(); System.out.println("XML 文件创建成功!"); } }</pre> <h3>修改现有 XML</h3> <pre class="fry543tr234rfh5h04a75d7efd03bb1b brush:java;toolbar:false">public class ModifyXml { public static void main(String[] args) throws Exception { SAXReader reader = new SAXReader(); Document document = reader.read(new File("books.xml")); // 1. 修改元素内容 // 找到第一本书的价格并修改 Node firstBookPrice = document.selectSingleNode("//book[1]/price"); if (firstBookPrice != null) { firstBookPrice.setText("19.99"); // 价格大促销! } // 2. 添加新元素 // 找到最后一本书,添加一个 <pages> 元素 Node lastBook = document.selectSingleNode("//book[last()]"); if (lastBook != null) { lastBook.addElement("pages").setText("300"); } // 3. 删除元素 // 删除第二本书的 <year> 元素 Node secondBookYear = document.selectSingleNode("//book[2]/year"); if (secondBookYear != null) { secondBookYear.getParent().remove(secondBookYear); } // 4. 保存修改 XMLWriter writer = new XMLWriter(new FileWriter("books_modified.xml")); writer.write(document); writer.close(); System.out.println("XML 文件修改成功!"); } }</pre> <table> <thead> <tr class="fry543tr234rfh5h02910671109a1344 firstRow"> <th style="text-align: left;">功能</th> <th style="text-align: left;">dom4j 方法/XPath</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;"><strong>解析</strong></td> <td style="text-align: left;"><code>SAXReader reader = new SAXReader();</code><br><code>Document doc = reader.read(file);</code></td> </tr> <tr> <td style="text-align: left;"><strong>获取根元素</strong></td> <td style="text-align: left;"><code>Element root = doc.getRootElement();</code></td> </tr> <tr> <td style="text-align: left;"><strong>获取元素名称</strong></td> <td style="text-align: left;"><code>element.getName();</code></td> </tr> <tr> <td style="text-align: left;"><strong>获取元素文本</strong></td> <td style="text-align: left;"><code>element.getText();</code></td> </tr> <tr> <td style="text-align: left;"><strong>获取元素属性</strong></td> <td style="text-align: left;"><code>element.attributeValue("attrName");</code></td> </tr> <tr> <td style="text-align: left;"><strong>获取子元素</strong></td> <td style="text-align: left;"><code>element.element("childName");</code> (第一个)<br><code>element.elements("childName");</code> (所有)</td> </tr> <tr> <td style="text-align: left;"><strong>遍历子元素</strong></td> <td style="text-align: left;"><code>element.elementIterator();</code></td> </tr> <tr> <td style="text-align: left;"><strong>XPath 查询</strong></td> <td style="text-align: left;"><code>document.selectNodes("//xpath");</code> (返回列表)<br><code>document.selectSingleNode("//xpath");</code> (返回单个)</td> </tr> <tr> <td style="text-align: left;"><strong>创建元素</strong></td> <td style="text-align: left;"><code>parentElement.addElement("newChild");</code></td> </tr> <tr> <td style="text-align: left;"><strong>添加属性</strong></td> <td style="text-align: left;"><code>element.addAttribute("name", "value");</code></td> </tr> <tr> <td style="text-align: left;"><strong>添加文本</strong></td> <td style="text-align: left;"><code>element.setText("text content");</code></td> </tr> <tr> <td style="text-align: left;"><strong>删除节点</strong></td> <td style="text-align: left;"><code>parentElement.remove(childElement);</code></td> </tr> <tr> <td style="text-align: left;"><strong>保存文档</strong></td> <td style="text-align: left;"><code>XMLWriter writer = new XMLWriter(...);</code><br><code>writer.write(document);</code></td> </tr> </tbody> </table> <p><code>dom4j</code> 是一个功能非常全面的 XML 处理工具,无论是简单的读取还是复杂的查询、转换,它都能高效地完成任务,掌握 <code>dom4j</code> 是 Java 开发者处理 XML 数据的一项重要技能。</p> </div> <div class="fry543tr234rfh5h3f581c7e8e41ad4d entry-tags"> <a href="https://jerry.net.cn/tags-21087.html" rel="tag" title="dom4j高效解析XML技巧"># dom4j高效解析XML技巧</a> <a href="https://jerry.net.cn/tags-28379.html" rel="tag" title="dom4j快速解析XML方法"># dom4j快速解析XML方法</a> <a href="https://jerry.net.cn/tags-38764.html" rel="tag" title="dom4j优化XML解析性能"># dom4j优化XML解析性能</a> </div> <div class="fry543tr234rfh5haaeb8ddc9e55cb69 entry-bottom clearfix"> <div class="fry543tr234rfh5h869ceb5902147870 item-author"> <a href="https://jerry.net.cn/author-1.html" title="99ANYc3cd6"> <img alt="99ANYc3cd6" src="https://jerry.net.cn/zb_users/avatar/0.png"> <span>99ANYc3cd6</span> <span class="fry543tr234rfh5h2848aa1a21f4a4e6 user-group">管理员</span> </a> </div> <div class="fry543tr234rfh5ha2facb2a4022a530 article-share"> <span>分享:</span> <a href="#weixin_qr" title="分享到微信" class="fry543tr234rfh5hc4b6703bdd3bc7d3 weixin"><svg t="1509603359747" class="fry543tr234rfh5hf2d243200340c4d7 icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2786" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M778.748 575.633c-15.732 0-31.641-15.732-31.641-31.817 0-15.82 15.908-31.817 31.641-31.817 23.994 0 39.903 15.997 39.903 31.817 0 15.997-15.908 31.817-39.903 31.817M603.494 575.633c-15.82 0-31.817-15.732-31.817-31.817 0-15.82 15.997-31.817 31.817-31.817 24.17 0 39.903 15.997 39.903 31.817 0 15.997-15.732 31.817-39.903 31.817M962 615.447c0-127.354-127.442-231.153-270.615-231.153-151.612 0-270.879 103.887-270.879 231.153 0 127.705 119.356 231.153 270.879 231.153 31.729 0 63.721-7.911 95.537-15.908l87.364 47.901-23.906-79.628c63.896-48.076 111.621-111.622 111.621-183.516M277.068 360.477c-23.906 0-47.989-15.997-47.989-39.815 0-23.994 24.082-39.727 47.989-39.727 23.906 0 39.727 15.732 39.727 39.727 0 23.818-15.82 39.815-39.727 39.815M499.959 280.847c24.082 0 39.903 15.82 39.903 39.727 0 23.818-15.82 39.815-39.903 39.815-23.818 0-47.724-15.997-47.724-39.815 0-23.994 23.906-39.727 47.724-39.727M671.17 367.156c10.372 0 20.567 0.791 30.762 1.933-27.598-128.32-164.795-223.682-321.416-223.682-175.078 0-318.516 119.268-318.516 270.879 0 87.451 47.724 159.346 127.442 215.068l-31.817 95.8 111.357-55.81c39.815 7.822 71.807 15.908 111.533 15.908 10.020 0 19.951-0.44 29.707-1.143-6.153-21.357-9.844-43.594-9.844-66.797 0.088-139.219 119.531-252.158 270.791-252.158z" p-id="2787"></path></svg><div class="fry543tr234rfh5h57dd89b1f5ebd6b4 qrpopup"><div id="postqr" data-url="https://jerry.net.cn/post/14872.html"></div><span>扫描分享到社交APP</span></div></a> <a target="_blank" onClick='window.open("http://service.weibo.com/share/share.php?url=https://jerry.net.cn/post/14872.html&title=domdom4j如何高效解析XML文件?&appkey=&pic=&searchPic=true")' title="分享到新浪微博" class="fry543tr234rfh5h5aba5363591d403c weibo"><svg t="1509603370183" class="fry543tr234rfh5hf2d243200340c4d7 icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3458" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M783.055 155.691c-30.146-6.856-70.576-5.449-121.289 4.131-0.703 0-1.406 0.352-2.109 1.055l-1.055 2.109-1.055 1.055c-7.559 2.021-13.711 6.328-18.545 12.832-4.834 6.503-7.207 13.535-7.207 21.006 0 10.283 3.427 18.809 10.283 25.664 6.856 6.856 15.117 10.283 24.698 10.283h3.076c0.703 0 2.198-0.352 4.658-1.055 2.373-0.703 5.010-1.23 7.734-1.582 2.724-0.352 5.625-1.055 8.789-2.109 3.076-1.055 5.888-2.021 8.262-3.076 2.373-1.055 7.031-1.582 13.887-1.582 6.856 0 15.293 0.528 25.224 1.582 9.932 1.055 20.918 3.604 32.871 7.646 12.041 4.131 23.994 9.229 35.947 15.381 11.953 6.153 23.994 14.766 35.947 25.664 12.041 10.898 22.5 23.555 31.377 37.969 17.842 40.342 21.27 79.365 10.283 117.070 0 0.703-0.176 1.406-0.528 2.109-0.352 0.703-0.879 2.373-1.582 5.098-0.703 2.724-1.406 5.273-2.109 7.646-0.703 2.373-1.406 5.45-2.109 9.229-0.703 3.779-1.055 7.031-1.055 9.756 0 6.153 1.67 11.25 5.098 15.381 3.428 4.131 7.734 7.031 12.833 8.701 5.185 1.67 11.162 2.549 18.018 2.549 19.161 0 30.498-11.602 33.926-34.893 8.262-26.719 12.832-52.208 13.887-76.465 1.055-24.258-0.703-45.703-5.098-64.161-4.482-18.457-11.162-35.771-20.039-51.856-8.877-16.084-19.161-29.795-30.849-41.045-11.69-11.338-24.697-21.533-39.112-30.849-14.414-9.229-28.301-16.612-41.661-22.060-13.184-5.362-27.070-9.756-41.396-13.184v0zM800.545 445.115c4.131 0 7.911-1.055 11.338-3.076s6.153-4.658 8.261-7.646c2.021-3.076 3.428-6.328 4.131-9.756 0.703-0.703 1.055-1.67 1.055-3.076 8.262-78.047-19.161-122.52-82.266-133.418-18.545-3.428-35.684-3.779-51.416-1.055-4.834 0-8.877 1.231-12.305 3.604-3.428 2.373-6.328 5.449-8.789 9.229-2.373 3.779-3.604 7.734-3.604 11.778 0 6.856 2.373 12.656 7.208 17.403 4.834 4.747 10.635 7.207 17.49 7.207 53.438-12.305 82.266 4.747 86.308 51.328 1.406 11.602 0.703 22.588-2.109 32.872 0 6.856 2.373 12.656 7.207 17.403 4.746 4.747 10.635 7.119 17.49 7.208v0zM435.623 659.656c-4.834 3.428-9.756 4.922-14.942 4.658-5.098-0.352-8.701-2.549-10.81-6.68l-2.109-4.131c-0.703-1.406-1.055-2.724-1.055-4.131v-4.131c0-2.021 0.352-3.779 1.055-5.098l2.109-4.131c0.703-1.406 1.67-2.373 3.076-3.076l3.076-4.131c5.45-4.131 10.81-5.801 15.908-5.098s8.701 3.428 10.81 8.174c2.021 2.724 2.901 5.801 2.549 9.229-0.352 3.427-1.406 6.68-3.076 9.756-1.67 3.164-3.867 6.065-6.592 8.789v0zM348.172 733.572c-4.131 0.703-8.086 0.879-11.778 0.528-3.779-0.352-7.207-1.055-10.283-2.109-3.076-1.055-6.153-2.285-9.229-3.604-3.076-1.318-5.625-3.252-7.734-5.625-2.109-2.461-3.955-4.834-5.625-7.207-1.67-2.373-3.076-5.098-4.131-8.174-1.055-3.076-1.583-6.328-1.583-9.756 0-7.559 2.021-14.854 6.153-22.060 4.131-7.208 9.756-13.359 16.963-18.458 7.207-5.185 15.205-8.086 24.17-8.701 6.153-0.703 12.129-0.528 18.018 0.527s10.81 2.724 14.942 5.098c4.131 2.373 7.734 5.098 10.81 8.174 3.076 3.076 5.362 6.68 6.68 10.81 1.318 4.131 2.021 8.526 2.109 13.359 0 7.559-2.197 14.678-6.68 21.533-4.482 6.856-10.459 12.656-18.018 17.403-7.558 4.747-15.82 7.471-24.785 8.262v0zM385.174 539.51c-19.864 2.021-37.705 6.68-53.438 13.887s-28.125 15.381-37.002 24.609c-8.877 9.229-16.435 19.16-22.675 29.795-6.153 10.635-10.459 21.006-12.832 31.289-2.373 10.283-3.955 19.688-4.658 28.213-0.703 8.526-1.055 15.205-1.055 20.039l1.055 8.174v4.131c0 2.021 0.703 6.153 2.109 12.305s3.252 11.778 5.625 16.963c2.373 5.185 6.328 10.81 11.777 16.963 5.449 6.152 11.953 11.25 19.511 15.381 45.263 21.885 87.364 28.565 126.474 20.039 39.023-8.526 70.576-28.213 94.57-59.063 9.58-11.602 15.908-26.016 18.984-43.154 3.076-17.138 2.373-34.365-2.109-51.856-4.482-17.402-12.129-33.31-23.115-47.724-10.987-14.414-27.246-25.489-48.779-33.398-21.445-7.823-46.318-10.019-74.443-6.592v0zM415.057 823.924c-74.004 3.428-136.934-10.987-188.614-43.154-51.768-32.168-77.607-72.862-77.607-122.168 0-48.604 25.664-90.527 77.080-125.771 51.416-35.244 114.434-54.58 189.141-58.008 74.708-3.427 137.724 8.877 189.141 36.914 51.416 28.037 77.080 66.357 77.080 114.961 0 49.307-26.192 93.604-78.662 132.891-52.383 39.463-114.961 60.82-187.559 64.336v0zM728.563 504.705c-10.283-2.021-16.963-5.098-20.039-9.229s-3.604-7.823-1.582-11.338l3.076-5.097c0.703-0.703 1.406-1.67 2.109-3.076s2.109-4.307 4.131-8.701c2.021-4.482 3.604-8.877 4.658-13.359 1.055-4.482 1.933-9.932 2.549-16.435 0.703-6.504 0.44-12.656-0.528-18.458-0.967-5.8-3.076-12.129-6.153-18.984-3.076-6.856-7.383-13.008-12.832-18.457-9.58-9.58-22.148-15.732-37.529-18.457-15.381-2.724-30.849-2.901-46.231-0.528-15.381 2.373-29.971 5.45-43.682 9.229-13.711 3.779-25.049 7.383-33.925 10.81l-13.359 6.153c-6.856 2.021-12.481 3.427-16.963 4.131-4.482 0.703-7.911 0.528-10.283-0.528-2.373-1.055-4.307-2.021-5.625-3.076-1.318-1.055-1.846-3.428-1.582-7.207 0.352-3.779 0.703-7.031 1.055-9.756 0.352-2.724 1.23-7.031 2.549-12.832 1.406-5.801 2.373-10.459 3.076-13.887 0-8.174-0.527-15.908-1.582-23.115-1.055-7.207-3.252-15.205-6.68-24.083-3.427-8.877-8.349-16.084-14.942-21.533-6.504-5.45-14.766-9.932-24.698-13.359-9.932-3.428-22.763-4.482-38.584-3.076-15.732 1.318-33.575 5.45-53.438 12.305-23.994 8.174-48.34 20.391-73.037 36.387-24.697 16.084-46.055 32.872-64.248 50.273-18.193 17.49-34.805 34.365-49.834 50.801-15.117 16.435-26.719 29.795-34.981 40.078l-11.338 16.435c-22.588 29.443-39.375 58.887-50.362 88.242-10.898 29.356-16.084 51.592-15.381 66.622v21.533c4.131 32.872 14.238 62.315 30.322 88.33 16.084 26.016 35.244 47.021 57.568 63.106 22.324 16.084 48.516 29.795 78.662 41.045 30.146 11.338 59.151 19.512 86.924 24.609 27.773 5.098 57.041 8.701 87.891 10.81 50.713 4.131 103.359 0.176 157.763-11.778 54.492-11.953 105.205-32.695 152.138-62.138 46.933-29.443 80.068-64.688 99.229-105.732 11.69-23.994 17.666-46.582 18.018-67.763 0.352-21.182-3.252-38.497-10.81-51.856-7.559-13.359-17.315-25.137-29.356-35.42-11.953-10.283-23.291-17.842-33.926-22.588-10.635-4.834-20.039-7.911-28.301-9.229v0.175z" p-id="3459"></path></svg></a> <a target="_blank" onClick='window.open("http://connect.qq.com/widget/shareqq/index.html?url=https://jerry.net.cn/post/14872.html&title=domdom4j如何高效解析XML文件?")' title="分享到QQ好友" class="fry543tr234rfh5h9620bbd947e9989f qq"><svg t="1514186667140" class="fry543tr234rfh5hf2d243200340c4d7 icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3644" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512 56.88061a295.77917 295.77917 0 0 1 294.641558 295.77917v5.119254a25.027468 25.027468 0 0 0 3.697239 14.788959 121.440101 121.440101 0 0 1 19.339408 64.275089 97.550245 97.550245 0 0 1 0 15.92657 25.311871 25.311871 0 0 0 6.825673 21.899035 280.137002 280.137002 0 0 1 68.256731 109.779577c28.440305 87.311736 17.632989 168.082201-8.247688 176.898695a16.77978 16.77978 0 0 1-5.403658 0 54.605385 54.605385 0 0 1-34.128366-22.46784 25.027468 25.027468 0 0 0-19.339407-9.100898h-2.844031a25.311871 25.311871 0 0 0-19.908213 13.366943 326.210296 326.210296 0 0 1-31.568738 48.348519 25.311871 25.311871 0 0 0 10.23851 38.963217c35.550381 14.788958 56.88061 36.119187 56.880609 58.587028 0 42.376054-70.531956 76.788823-156.990482 76.788823a220.696765 220.696765 0 0 1-136.22906-38.963218 25.596274 25.596274 0 0 0-16.77978-6.256867h-52.614564a24.743065 24.743065 0 0 0-16.495377 6.256867A220.696765 220.696765 0 0 1 332.82608 966.970363c-85.320914 0-156.990482-34.412769-156.990483-76.788823 0-22.467841 20.477019-44.082472 56.88061-58.587028a25.311871 25.311871 0 0 0 10.23851-38.963217 327.916714 327.916714 0 0 1-31.568739-48.348518 25.311871 25.311871 0 0 0-19.908213-13.366944h-2.844031a25.311871 25.311871 0 0 0-19.62381 9.100898 54.320982 54.320982 0 0 1-33.843963 22.752244 16.77978 16.77978 0 0 1-5.688061 0c-26.16508-8.816494-35.550381-89.58696-8.247688-176.898696a280.990211 280.990211 0 0 1 68.825538-110.632786 25.311871 25.311871 0 0 0 6.825673-21.614631 98.119052 98.119052 0 0 1 0-15.357765 121.440101 121.440101 0 0 1 18.770601-63.706283 25.311871 25.311871 0 0 0 3.69724-14.788958v-5.688061A295.77917 295.77917 0 0 1 512 56.88061m0-56.88061A352.090973 352.090973 0 0 0 161.331042 352.375376a174.623471 174.623471 0 0 0-22.183438 85.320915v8.532091A331.613954 331.613954 0 0 0 67.193633 568.806096c-31.853141 101.816291-28.440305 222.97199 44.082472 247.146249a72.522777 72.522777 0 0 0 23.605453 3.981642 77.073226 77.073226 0 0 0 17.632989-1.990821 102.385097 102.385097 0 0 0-32.990753 72.80718C119.523794 966.970363 209.395157 1023.850973 332.82608 1023.850973a286.678272 286.678272 0 0 0 162.678543-44.366876h32.706351A286.678272 286.678272 0 0 0 690.889517 1023.850973c123.430923 0 213.302286-56.88061 213.302286-133.100627a102.385097 102.385097 0 0 0-32.990753-73.660389 76.220017 76.220017 0 0 0 18.201795 2.275224 72.80718 72.80718 0 0 0 23.32105-3.697239c71.385165-24.174259 75.935614-145.329958 44.082472-247.146249a330.760745 330.760745 0 0 0-71.385165-121.724505v-9.3853a174.907875 174.907875 0 0 0-22.752244-85.320915A352.090973 352.090973 0 0 0 512 0z" p-id="3645"></path></svg></a> <a target="_blank" onClick='window.open("https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https://jerry.net.cn/post/14872.html&title=domdom4j如何高效解析XML文件?")' title="分享到QQ空间" class="fry543tr234rfh5h233f23804d4af55f qqzone"><svg t="1511159606267" class="fry543tr234rfh5hf2d243200340c4d7 icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2568" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M969.36 423.824c0-10.208 0-7.408-10.208-7.408l-102.048 0L683.648 416.416l-40.848-72.72L530.56 128c-10.224 0-10.224 0-20.432 0l-102.016 215.68-40.832 72.72L193.776 416.4 48 416.4l0 4.64 57.584 40.848 161.472 142.944-36.64 326.72c0 10.208 2.096 10.208 22.496 10.208l266.384-163.36 265.824 163.36c10.24 0 10.48 0 20.688-10.208l-50.896-326.72 153.12-131.36L969.36 423.824zM295.856 736.88 591.776 495.68l-275.52-47.232 418.368 0L479.536 679.456l265.312 57.424L295.856 736.88z" p-id="2569"></path></svg></a> </div> </div> <div class="fry543tr234rfh5h16be7ddab0bd4364 article-nav clearfix"> <div class="fry543tr234rfh5hc6dd202662129a9d article-nav-prev"> <i class="fry543tr234rfh5h237d68bdf4ef9387 fa fa-angle-left"></i> 上一篇 <a href="https://jerry.net.cn/post/14871.html" rel="next">Python rollingstd如何计算滚动标准差?</a> </div> <div class="fry543tr234rfh5hfd03e7c2fe953f28 article-nav-next"> 下一篇 <i class="fry543tr234rfh5h24fbd8889761ad04 fa fa-angle-right"></i> <a href="https://jerry.net.cn/post/14873.html" rel="next">Word2007视频教程该怎么学?</a> </div> </div> <div class="fry543tr234rfh5h7a40419d16c0c196 related-content"> <h3 class="fry543tr234rfh5h2e66f9e55cabbe26 w-title">相关推荐</h3> <ul class="fry543tr234rfh5h6249c1922c361884 article-list clearfix"> <li class="fry543tr234rfh5h415bd6d0a652df24 article-item"> <div class="fry543tr234rfh5h323216a2ef28df66 article-img"> <a href="https://jerry.net.cn/post/14875.html" title="dom4j如何高效解析XML?"> <img src="https://jerry.net.cn/zb_users/cache/thumbs/ff738941101d36754179e20c41eee3af-252-157-1.jpeg" alt="dom4j如何高效解析XML?" /> </a> </div> <div class="fry543tr234rfh5h51ec98ff478dc820 item-content"> <h2 class="fry543tr234rfh5h8fbcfaee1df48678 item-title"> <a href="https://jerry.net.cn/post/14875.html" title="dom4j如何高效解析XML?">dom4j如何高效解析XML?</a></h2> <div class="fry543tr234rfh5h1f30a3d701b0676f item-excerpt"> <p>目录准备工作:添加dom4j依赖核心API介绍示例XML文件解析步骤详解读取XML文件获取根元素遍历子元素获取元素属性和文本内容使用XPath快速查询完整代码示例写入XML文件准备工作:添加dom4j依赖你需要在...</p> </div> <div class="fry543tr234rfh5hc8a8ab43dca8ea27 item-meta"> <div class="fry543tr234rfh5h869ceb5902147870 item-author"> <a href="https://jerry.net.cn/author-1.html" title="99ANYc3cd6"> <img alt="99ANYc3cd6" src="https://jerry.net.cn/zb_users/avatar/0.png"> <span>99ANYc3cd6</span> </a> </div> <span class="fry543tr234rfh5h43c5260924b6984b item-date">2026-04-06</span> <div class="fry543tr234rfh5hf1ea415191c34d36 item-meta-right"> <span class="fry543tr234rfh5hae9ed49b7dda52d4 item-views">1</span> <span class="fry543tr234rfh5he9d823f4b746faad item-praise">0</span> <span class="fry543tr234rfh5h041bc35787ce59be item-comments">0</span> </div> </div> </div> </li> <li class="fry543tr234rfh5h415bd6d0a652df24 article-item"> <div class="fry543tr234rfh5h323216a2ef28df66 article-img"> <a href="https://jerry.net.cn/post/14864.html" title="dom4j如何高效解析Java中的XML?"> <img src="https://jerry.net.cn/zb_users/cache/thumbs/e95e2178fc77a968fd5a8e12a09c98cc-252-157-1.jpeg" alt="dom4j如何高效解析Java中的XML?" /> </a> </div> <div class="fry543tr234rfh5h51ec98ff478dc820 item-content"> <h2 class="fry543tr234rfh5h8fbcfaee1df48678 item-title"> <a href="https://jerry.net.cn/post/14864.html" title="dom4j如何高效解析Java中的XML?">dom4j如何高效解析Java中的XML?</a></h2> <div class="fry543tr234rfh5h1f30a3d701b0676f item-excerpt"> <p>目录为什么选择dom4j?环境准备:添加依赖核心API介绍完整示例:解析XML文件准备XML文件编写Java解析代码代码详解常用操作详解遍历节点读取节点属性和文本内容使用XPath快速查询创建和修改XML为什么选择...</p> </div> <div class="fry543tr234rfh5hc8a8ab43dca8ea27 item-meta"> <div class="fry543tr234rfh5h869ceb5902147870 item-author"> <a href="https://jerry.net.cn/author-1.html" title="99ANYc3cd6"> <img alt="99ANYc3cd6" src="https://jerry.net.cn/zb_users/avatar/0.png"> <span>99ANYc3cd6</span> </a> </div> <span class="fry543tr234rfh5h43c5260924b6984b item-date">2026-04-06</span> <div class="fry543tr234rfh5hf1ea415191c34d36 item-meta-right"> <span class="fry543tr234rfh5hae9ed49b7dda52d4 item-views">1</span> <span class="fry543tr234rfh5he9d823f4b746faad item-praise">0</span> <span class="fry543tr234rfh5h041bc35787ce59be item-comments">0</span> </div> </div> </div> </li> <li class="fry543tr234rfh5h415bd6d0a652df24 article-item"> <div class="fry543tr234rfh5h323216a2ef28df66 article-img"> <a href="https://jerry.net.cn/post/10957.html" title="dom4j如何高效读取XML文件?"> <img src="https://jerry.net.cn/zb_users/cache/thumbs/c4b89d4a974824f854f886df7122e7b5-252-157-1.jpeg" alt="dom4j如何高效读取XML文件?" /> </a> </div> <div class="fry543tr234rfh5h51ec98ff478dc820 item-content"> <h2 class="fry543tr234rfh5h8fbcfaee1df48678 item-title"> <a href="https://jerry.net.cn/post/10957.html" title="dom4j如何高效读取XML文件?">dom4j如何高效读取XML文件?</a></h2> <div class="fry543tr234rfh5h1f30a3d701b0676f item-excerpt"> <p>dom4j是一个非常流行、功能强大且性能优异的JavaXML处理框架,它使用的是DOM(文档对象模型)的思想,将整个XML文件读入内存,形成一个树形结构,方便我们遍历和操作,准备工作:添加dom4j依赖你需要在你的项目中添...</p> </div> <div class="fry543tr234rfh5hc8a8ab43dca8ea27 item-meta"> <div class="fry543tr234rfh5h869ceb5902147870 item-author"> <a href="https://jerry.net.cn/author-1.html" title="99ANYc3cd6"> <img alt="99ANYc3cd6" src="https://jerry.net.cn/zb_users/avatar/0.png"> <span>99ANYc3cd6</span> </a> </div> <span class="fry543tr234rfh5h43c5260924b6984b item-date">2026-02-22</span> <div class="fry543tr234rfh5hf1ea415191c34d36 item-meta-right"> <span class="fry543tr234rfh5hae9ed49b7dda52d4 item-views">5</span> <span class="fry543tr234rfh5he9d823f4b746faad item-praise">0</span> <span class="fry543tr234rfh5h041bc35787ce59be item-comments">0</span> </div> </div> </div> </li> <li class="fry543tr234rfh5h415bd6d0a652df24 article-item"> <div class="fry543tr234rfh5h323216a2ef28df66 article-img"> <a href="https://jerry.net.cn/post/8293.html" title="dom4j如何高效解析Java中的XML文件?"> <img src="https://jerry.net.cn/zb_users/cache/thumbs/2fb9d6e59140039da41f94ced0a4f69c-252-157-1.jpeg" alt="dom4j如何高效解析Java中的XML文件?" /> </a> </div> <div class="fry543tr234rfh5h51ec98ff478dc820 item-content"> <h2 class="fry543tr234rfh5h8fbcfaee1df48678 item-title"> <a href="https://jerry.net.cn/post/8293.html" title="dom4j如何高效解析Java中的XML文件?">dom4j如何高效解析Java中的XML文件?</a></h2> <div class="fry543tr234rfh5h1f30a3d701b0676f item-excerpt"> <p>目录为什么选择dom4j?准备工作:添加依赖核心API介绍实战案例:解析XML文件读取XML文件遍历文档结构获取节点信息(名称、文本、属性)处理命名空间实战案例:创建/生成XML文件XPath支持总结与最佳实践为什么选择...</p> </div> <div class="fry543tr234rfh5hc8a8ab43dca8ea27 item-meta"> <div class="fry543tr234rfh5h869ceb5902147870 item-author"> <a href="https://jerry.net.cn/author-1.html" title="99ANYc3cd6"> <img alt="99ANYc3cd6" src="https://jerry.net.cn/zb_users/avatar/0.png"> <span>99ANYc3cd6</span> </a> </div> <span class="fry543tr234rfh5h43c5260924b6984b item-date">2026-01-27</span> <div class="fry543tr234rfh5hf1ea415191c34d36 item-meta-right"> <span class="fry543tr234rfh5hae9ed49b7dda52d4 item-views">13</span> <span class="fry543tr234rfh5he9d823f4b746faad item-praise">0</span> <span class="fry543tr234rfh5h041bc35787ce59be item-comments">0</span> </div> </div> </div> </li> </ul> </div> </div> </div> </div> <div class="fry543tr234rfh5he90e481dcb294462 sidebar"> <!--文章作者--> <div class="fry543tr234rfh5hb5bcef4265739c80 widget w-author"> <div class="fry543tr234rfh5hce60a7390d2d4b20 w-author-box"> <div class="fry543tr234rfh5hf238ddc1ad47b4c5 w-author-avatar" style="background-image: url(https://jerry.net.cn/zb_users/theme/themeolnews/style/images/authBgImg.jpg);"> <span> <img src="https://jerry.net.cn/zb_users/avatar/0.png" alt="99ANYc3cd6"> </span> </div> <h4><a href="https://jerry.net.cn/author-1.html" title="99ANYc3cd6">99ANYc3cd6</a></h4> <p class="fry543tr234rfh5hfa1a2a1e9bcd93a6 w-author-Intro"></p> <div class="fry543tr234rfh5hd1b68d22da8fd9bd w-author-statis"> <ul class="fry543tr234rfh5hacb3b31ff0482ce8 clearfix"> <li><em>14962</em><span>文章</span></li> <li><em>0</em><span>评论</span></li> <li><em>0</em><span>粉丝</span></li> <li><em>0</em><span>被赞</span></li> </ul> </div> </div> <div class="fry543tr234rfh5h0d9d461769059bda w-cPost "> <div class="fry543tr234rfh5h2e66f9e55cabbe26 w-title">最近发布</div> <ul class="fry543tr234rfh5hb0ae0929f23410f5 cPost-list"> <li><h3><a href="https://jerry.net.cn/post/14965.html" title="Python真的能成为万物编程的终极工具吗?">Python真的能成为万物编程的终极工具吗?</a></h3></li> <li><h3><a href="https://jerry.net.cn/post/14964.html" title="Python PrettyTable如何快速美化表格输出?">Python PrettyTable如何快速美化表格输出?</a></h3></li> <li><h3><a href="https://jerry.net.cn/post/14963.html" title="Python如何高效提取数据?">Python如何高效提取数据?</a></h3></li> <li><h3><a href="https://jerry.net.cn/post/14962.html" title="Lightroom教程从哪学起?新手入门必看指南!">Lightroom教程从哪学起?新手入门必看指南!</a></h3></li> <li><h3><a href="https://jerry.net.cn/post/14961.html" title="Eclipse打不开.java文件怎么办?">Eclipse打不开.java文件怎么办?</a></h3></li> </ul> </div> </div> <!--热门文章--> <div class="fry543tr234rfh5hb865d113a663a88d widget w-hVPost"> <div class="fry543tr234rfh5h2e66f9e55cabbe26 w-title">热门排行</div> <ul class="fry543tr234rfh5h5c7f45ca115b093d hVPost-list"> <li class="fry543tr234rfh5h472354e55e4e5bd4 first-li"> <a href="https://jerry.net.cn/post/6431.html" title="Java Socket编程实例具体怎么实现?"> <span class="fry543tr234rfh5h824ce9c46dbd95a8 hVPost-thumb"> <img src="https://jerry.net.cn/zb_users/cache/thumbs/d62f5ac5353da05db06d55d2b70074c9-264-164-1.jpeg" alt="Java Socket编程实例具体怎么实现?"> </span> <div class="fry543tr234rfh5h2945e5d6b7d45672 hVPost-content"> <h3>Java Socket编程实例具体怎么实现?</h3> </div> </a> </li> <li> <i></i> <a href="https://jerry.net.cn/post/6931.html" title="ThinkPad清灰教程,自己动手难不难?">ThinkPad清灰教程,自己动手难不难?</a> </li> <li> <i></i> <a href="https://jerry.net.cn/post/12193.html" title="MobaXterm怎么用?新手入门指南看这里!">MobaXterm怎么用?新手入门指南看这里!</a> </li> <li> <i></i> <a href="https://jerry.net.cn/post/5023.html" title="Power Matte教程,如何精准抠图?">Power Matte教程,如何精准抠图?</a> </li> <li> <i></i> <a href="https://jerry.net.cn/post/5993.html" title="Python数据分析视频教程怎么学更高效?">Python数据分析视频教程怎么学更高效?</a> </li> <li> <i></i> <a href="https://jerry.net.cn/post/6086.html" title="男士瑜伽入门,哪些基本动作必学?">男士瑜伽入门,哪些基本动作必学?</a> </li> <li> <i></i> <a href="https://jerry.net.cn/post/6055.html" title="python phantomjs配置">python phantomjs配置</a> </li> <li> <i></i> <a href="https://jerry.net.cn/post/11888.html" title="coreldraw教程入门">coreldraw教程入门</a> </li> </ul> </div> <!--随机文章--> <div class="fry543tr234rfh5h98dd3a08ebc5605d widget w-cPost"> <div class="fry543tr234rfh5h2e66f9e55cabbe26 w-title">猜您喜欢</div> <ul class="fry543tr234rfh5hb0ae0929f23410f5 cPost-list"> <li> <h3> <a href="https://jerry.net.cn/post/13906.html" title="Java Map转List有哪些常用方法?">Java Map转List有哪些常用方法?</a> </h3> </li> <li> <h3> <a href="https://jerry.net.cn/post/13638.html" title="Python Webdriver怎么用?">Python Webdriver怎么用?</a> </h3> </li> <li> <h3> <a href="https://jerry.net.cn/post/14107.html" title="java的视频教程下载 百度云">java的视频教程下载 百度云</a> </h3> </li> <li> <h3> <a href="https://jerry.net.cn/post/13771.html" title="Mamp下Python如何连接MySQL?">Mamp下Python如何连接MySQL?</a> </h3> </li> <li> <h3> <a href="https://jerry.net.cn/post/14854.html" title="Eclipse Java环境配置步骤是怎样的?">Eclipse Java环境配置步骤是怎样的?</a> </h3> </li> <li> <h3> <a href="https://jerry.net.cn/post/14342.html" title="Python UDP服务器如何高效收发数据?">Python UDP服务器如何高效收发数据?</a> </h3> </li> <li> <h3> <a href="https://jerry.net.cn/post/12466.html" title="InShot剪辑教程,新手如何快速上手?">InShot剪辑教程,新手如何快速上手?</a> </h3> </li> <li> <h3> <a href="https://jerry.net.cn/post/14255.html" title="Python安装libjpeg报错怎么办?">Python安装libjpeg报错怎么办?</a> </h3> </li> <li> <h3> <a href="https://jerry.net.cn/post/12468.html" title="Java中如何存储与读取MongoDB图片?">Java中如何存储与读取MongoDB图片?</a> </h3> </li> <li> <h3> <a href="https://jerry.net.cn/post/14869.html" title="Python print( )函数该怎么用?">Python print( )函数该怎么用?</a> </h3> </li> </ul> </div> <!--标签云--> <div class="fry543tr234rfh5heec1c6cd80932e06 widget w-tags"> <div class="fry543tr234rfh5h2e66f9e55cabbe26 w-title">热门标签</div> <div class="fry543tr234rfh5h2d5e886abb331a17 tag-list"> <ul> <li><a href="https://jerry.net.cn/tags-12431.html" title="Python零基础入门教程">Python零基础入门教程</a></li><li><a href="https://jerry.net.cn/tags-9116.html" title="8">8</a></li><li><a href="https://jerry.net.cn/tags-788.html" title="Photoshop新手入门教程">Photoshop新手入门教程</a></li><li><a href="https://jerry.net.cn/tags-223.html" title="0新手入门教程">0新手入门教程</a></li><li><a href="https://jerry.net.cn/tags-722.html" title="Java String转int方法">Java String转int方法</a></li><li><a href="https://jerry.net.cn/tags-6788.html" title="Java调用WebService方法">Java调用WebService方法</a></li><li><a href="https://jerry.net.cn/tags-960.html" title="Java调用WebService实例">Java调用WebService实例</a></li><li><a href="https://jerry.net.cn/tags-12855.html" title="CorelDraw新手入门教程">CorelDraw新手入门教程</a></li><li><a href="https://jerry.net.cn/tags-5722.html" title="U盘装Win7系统详细步骤">U盘装Win7系统详细步骤</a></li><li><a href="https://jerry.net.cn/tags-4618.html" title="Java字符转字符串技巧">Java字符转字符串技巧</a></li><li><a href="https://jerry.net.cn/tags-7969.html" title="Java equals与==区别详解">Java equals与==区别详解</a></li><li><a href="https://jerry.net.cn/tags-1615.html" title="Photoshop CS6新手入门教程">Photoshop CS6新手入门教程</a></li><li><a href="https://jerry.net.cn/tags-9115.html" title="8方法">8方法</a></li><li><a href="https://jerry.net.cn/tags-7966.html" title="0安装步骤详解">0安装步骤详解</a></li><li><a href="https://jerry.net.cn/tags-17461.html" title="```">```</a></li><li><a href="https://jerry.net.cn/tags-830.html" title="Premiere新手入门教程">Premiere新手入门教程</a></li><li><a href="https://jerry.net.cn/tags-5775.html" title="Java零基础入门教程">Java零基础入门教程</a></li><li><a href="https://jerry.net.cn/tags-19111.html" title="Java char转int方法">Java char转int方法</a></li><li><a href="https://jerry.net.cn/tags-7409.html" title="Java调用WebService教程">Java调用WebService教程</a></li><li><a href="https://jerry.net.cn/tags-12056.html" title="U盘装Win7详细步骤">U盘装Win7详细步骤</a></li><li><a href="https://jerry.net.cn/tags-7205.html" title="CorelDraw服装设计入门教程">CorelDraw服装设计入门教程</a></li><li><a href="https://jerry.net.cn/tags-5692.html" title="Python int转string方法">Python int转string方法</a></li><li><a href="https://jerry.net.cn/tags-2142.html" title="Java int转string方法">Java int转string方法</a></li><li><a href="https://jerry.net.cn/tags-10896.html" title="5新手入门教程">5新手入门教程</a></li><li><a href="https://jerry.net.cn/tags-11692.html" title="Java字符串转字符数组方法">Java字符串转字符数组方法</a></li><li><a href="https://jerry.net.cn/tags-1739.html" title="Java字符串转数组方法">Java字符串转数组方法</a></li><li><a href="https://jerry.net.cn/tags-15317.html" title="win7系统u盘安装步骤">win7系统u盘安装步骤</a></li><li><a href="https://jerry.net.cn/tags-4617.html" title="Java char转string方法">Java char转string方法</a></li><li><a href="https://jerry.net.cn/tags-11022.html" title="Python异常处理最佳实践">Python异常处理最佳实践</a></li><li><a href="https://jerry.net.cn/tags-786.html" title="Java调用WebService接口教程">Java调用WebService接口教程</a></li> </ul> </div> </div> </div> </div> <div class="fry543tr234rfh5h10b0518ce45c0e88 footer"> <div class="fry543tr234rfh5h0d2034b85419f714 container"> <ul class="fry543tr234rfh5h2c95f89c90f14fa5 footer-nav clearfix"> <meta name="baidu-site-verification" content="codeva-cjtLy0nowp" /> </ul> <div class="fry543tr234rfh5hdcf2cdcb51912cfc copyright"> Copyright © 2022-2025 杰瑞科技汇 版权所有 <a href="http://beian.miit.gov.cn" target="_blank" rel="nofollow noopener">沪ICP备2024102905号 </a><p>侵权处理与合作:473708564#qq.com,#换成@就是邮箱</p> <p style="margin-top:5px;">Powered By <a href="https://www.zblogcn.com/" target="_blank">Z-BlogPHP</a> · Theme By <a href="https://www.themeol.com/post/140.html" target="_blank" title="ZBlog主题">themeolnews</a></p> </div> </div> </div> <script src="https://jerry.net.cn/zb_users/theme/themeolnews/script/custom.js"></script> <script src="https://jerry.net.cn/zb_users/theme/themeolnews/script/qrcode.min.js"></script><script src="https://jerry.net.cn/zb_users/theme/themeolnews/script/themeol-sidebar.min.js"></script> <script src="https://jerry.net.cn/zb_users/theme/themeolnews/script/message.min.js"></script> <script src="https://jerry.net.cn/zb_users/theme/themeolnews/script/common.js"></script> <script> $(function () { $('.article-sponsor').on("click", function () { $('.reward').fadeIn(300); }); $('.reward .close').on("click", function () { $('.reward').fadeOut(300); }); $(".praise-btn").on("click", function () { var praise_post_id = $(this).attr("data-post-id"); var praise_value = $(this).attr("data-value"); var praise_author_id = $(this).attr("data-author-id"); $.ajax({ type: 'post', async: true, url: bloghost + 'zb_system/cmd.php?act=ajax&theme=themeolnews&do=praise', dataType: 'text', data: { csrfToken: csrfToken, praise_value: praise_value, praise_post_id: praise_post_id, praise_author_id: praise_author_id }, success: function (res) { res = eval("(" + res + ")"); if (res.code == 1) { $.message("点赞成功"); try { var ob = $(".praise-count>em"); if (ob != null) { var sint = parseInt(ob.html(), 10); sint++; ob.html(sint); } } catch (E) { } } else { $.message({ message: res.msg, type: "error" }) } } }); }); }); </script> </body> </html><!--388.01 ms , 24 queries , 22685kb memory , 0 error-->