使用XStream从文件中提取XML以用于Java程序

使用XStream从文件中提取XML以用于Java程序,java,xml,file-io,xstream,Java,Xml,File Io,Xstream,我目前正在用Java编写一个文本处理程序,需要从XML文件中提取XML并将其转换为Java对象。我正在使用XStream网站上的快速教程所建议的内容: XStream xstream = new XStream(); Map<String, Integer> englishCorpusProbDist = (Map<String, Integer>)xstream.fromXML(xmlString); 其中xmlString是XML代码。唯一的问题是,

我目前正在用Java编写一个文本处理程序,需要从XML文件中提取XML并将其转换为Java对象。我正在使用XStream网站上的快速教程所建议的内容:

    XStream xstream = new XStream();
    Map<String, Integer> englishCorpusProbDist = (Map<String, Integer>)xstream.fromXML(xmlString);
其中xmlString是XML代码。唯一的问题是,我将XML保存在计算机其他位置的XML文件中,而不是作为字符串保存在程序中。有没有办法将XML文件的本地地址输入到.fromXML函数中,并让它读取文件中的XML,而不是直接将XML本身输入到函数中


任何帮助都将不胜感激。提前谢谢

查看Stackoverflow上关于如何使用Java将文件内容读入字符串的其他帖子,例如

或者使用XStream.fromXMLFile文件方法,即

XStream.fromXML(new File("myfile.xml"));

您只需要寻找如何从xml文件创建Java字符串对象,并将其传递给fromXML方法。有关如何从XML文档创建字符串的更多参考信息,请参阅此文档。

尝试此工作示例

public class Person {
    private String firstname;
    private String lastname;

    public String getFirstname() {
        return firstname;
    }

    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }

    public String getLastname() {
        return lastname;
    }

    public void setLastname(String lastname) {
        this.lastname = lastname;
    }   
}
并执行下面的代码

public static void main(String[] args) throws Exception{
    XStream xstream = new XStream();    
    Person person = (Person)xstream.fromXML(new FileReader("a.xml"));
    System.out.println(person.getFirstname());
}