⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 domreadertest.java

📁 xstream是一个把java object序列化成xml文件的开源库,轻便好用
💻 JAVA
字号:
package com.thoughtworks.xstream.io.xml;import com.thoughtworks.xstream.io.HierarchicalStreamReader;import org.w3c.dom.Document;import org.w3c.dom.Element;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import java.io.ByteArrayInputStream;import java.util.HashMap;import java.util.Map;public class DomReaderTest extends AbstractXMLReaderTest {    // factory method    protected HierarchicalStreamReader createReader(String xml) throws Exception {        return new DomReader(buildDocument(xml));    }    private Document buildDocument(String xml) throws Exception {        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();        DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();        ByteArrayInputStream inputStream = new ByteArrayInputStream(xml.getBytes());        Document document = documentBuilder.parse(inputStream);        return document;    }    public void testCanReadFromElementOfLargerDocument() throws Exception {        Document document = buildDocument("" +                "<big>" +                "  <small>" +                "    <tiny/>" +                "  </small>" +                "  <small-two>" +                "  </small-two>" +                "</big>");        Element small = (Element) document.getDocumentElement().getElementsByTagName("small").item(0);        HierarchicalStreamReader xmlReader = new DomReader(small);        assertEquals("small", xmlReader.getNodeName());        xmlReader.moveDown();        assertEquals("tiny", xmlReader.getNodeName());    }    public void testExposesAttributesKeysAndValuesByIndex() throws Exception {        // overrides test in superclass, because DOM does not retain order of actualAttributes.        HierarchicalStreamReader xmlReader = createReader("<node hello='world' a='b' c='d'><empty/></node>");        assertEquals(3, xmlReader.getAttributeCount());        Map expectedAttributes = new HashMap();        expectedAttributes.put("hello", "world");        expectedAttributes.put("a", "b");        expectedAttributes.put("c", "d");        Map actualAttributes = new HashMap();        for (int i = 0; i < xmlReader.getAttributeCount(); i++) {            String name = xmlReader.getAttributeName(i);            String value = xmlReader.getAttribute(i);            actualAttributes.put(name, value);        }        assertEquals(expectedAttributes, actualAttributes);        xmlReader.moveDown();        assertEquals("empty", xmlReader.getNodeName());        assertEquals(0, xmlReader.getAttributeCount());    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -