Java 我想读取xml标记和HashMap中的值,我该怎么做 第一句 第二句 第三句 第四句 第五句 第六句 第七句 第八句 第九句 第十句

Java 我想读取xml标记和HashMap中的值,我该怎么做 第一句 第二句 第三句 第四句 第五句 第六句 第七句 第八句 第九句 第十句,java,xml,parsing,Java,Xml,Parsing,这里我将句子作为根元素。我想在HashMap中读取xml标记1,2作为键,3个句子作为值。我如何才能做到这一点 <?xml version="1.0" encoding="utf-8"?> <sentence> <one> sentence one </one> <two> sentence two</two> <three> sentence three</three>

这里我将句子作为根元素。我想在HashMap中读取xml标记1,2作为键,3个句子作为值。我如何才能做到这一点

<?xml version="1.0" encoding="utf-8"?>
<sentence>
    <one>  sentence one </one>
    <two> sentence two</two>
    <three> sentence three</three>   
    <four> sentence four </four>
    <five>  sentence five </five> 
    <six> sentence six  </six> 
    <seven> sentence seven </seven>
    <eight> sentence eight </eight>
    <nine>  sentence nine </nine>   
    <ten>   sentence ten  </ten>
</sentence>

请在谷歌上搜索如何使用Java解析XML!使用XStream、JAXB或使用DOM或SAX解析器解析它。感谢您的回复我得到了解决方案……嘿,感谢您的解决方案……这是另一种方法……我用另一种方法完成了。。。。
//package test;

import java.io.IOException;
import java.io.StringReader;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

public class Test {

    private static final String xmlString = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
            + "<sentence>\n"
            + "    <one>  sentence one </one>\n"
            + "    <two> sentence two</two>\n"
            + "    <three> sentence three</three>   \n"
            + "    <four> sentence four </four>\n"
            + "    <five>  sentence five </five> \n"
            + "    <six> sentence six  </six> \n"
            + "    <seven> sentence seven </seven>\n"
            + "    <eight> sentence eight </eight>\n"
            + "    <nine>  sentence nine </nine>   \n"
            + "    <ten>   sentence ten  </ten>\n"
            + "</sentence>";

    public static void main(String[] args) throws IOException, SAXException {

        try {

            Map<String, String> hMap = new HashMap();
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
            InputSource is = new InputSource(new StringReader(xmlString));
            Document doc = dBuilder.parse(is);

            Node node = doc.getElementsByTagName("sentence").item(0);
            String keys[] = {"one",
                "two",
                "three",
                "four",
                "five",
                "six",
                "seven",
                "eight",
                "nine",
                "ten"};

            for (String kValue : keys) {
                if (node.getNodeType() == Node.ELEMENT_NODE) {
                    hMap.put(kValue, ((Element) node).getElementsByTagName(kValue).item(0).getTextContent());
                }
            }

            for (String key : keys) {
                System.out.println(hMap.get(key));
            }

        } catch (ParserConfigurationException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }

    }
}
  sentence one 
 sentence two
 sentence three
 sentence four 
  sentence five 
 sentence six  
 sentence seven 
 sentence eight 
  sentence nine 
   sentence ten