而是使用JAXB。JAXP是一个古老且冗长的API。JAXB依靠Javabeans,因此干净而且相对容易。首先创建一个Javabean,它使用
javax.xml.bind注释将1:1映射到XML文件。
@XmlRootElementpublic class Access { @XmlElement private User buyer; @XmlElement private User seller; @XmlElement private User administrator; public User getBuyer() { return buyer; } public User getSeller() { return seller; } public User getAdministrator() { return administrator; } public static class User { @XmlElement(name="page") private List<String> pages; public List<String> getPages() { return pages; } }}
然后执行下面的代码以对其进行映射(假设它
allowedpages.xml位于类路径的根目录中)。
InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("allowedpages.xml");Access access = (Access) JAXBContext.newInstance(Access.class).createUnmarshaller().unmarshal(input);
请注意,您不应
newFile()为此使用。又见
getResourceAsStream()VS
FileInputStream。
最后,您可以按以下方式访问所有买方页面:
List<String> buyerPages = access.getBuyer().getPages();// ...
不用说,提高安全性并不总是最佳实践。Java EE 6附带了容器管理的安全性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)