Java 解析xml文件,获取文件内容。
XML文件
<?xml version="1.0" encoding="utf-8"?>
<root>
<!-- 不登录也能访问 -->
<anon>
<url>/sso/login</url>
<url>/sso/logout</url>
<url>/webjars/**</url>
<url>/swagger/**</url>
<url>/v2/api-docs</url>
<url>/doc.html</url>
<url>/swagger-ui.html</url>
<url>/swagger-resources/**</url>
<url>/swagger-resources</url>
</anon>
</root>
Java文件
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
/**
* 获取匿名访问地址列表
* @return
*/
public Set<String> getAnonUrls()
{
Set<String> anonUrlSet = new HashSet<>();
String currentDirectory = System.getProperty("user.dir");
try
{
// 尝试读取authConfig.xml文件,解析其中的匿名URL信息。
File file = new File(currentDirectory + File.separator + "config" + File.separator + "authConfig.xml");
// 解析XML文件
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(file);
Element root = doc.getDocumentElement();
// 从根元素中检索标签名称为“anon”的元素列表。
NodeList nodeList = root.getElementsByTagName("anon");
for (int i = 0; i < nodeList.getLength(); i++)
{
Element anon = (Element) nodeList.item(i);
NodeList list = anon.getElementsByTagName("url");
for (int j = 0; j < list.getLength(); j++)
{
anonUrlSet.add(list.item(j).getTextContent());
}
}
} catch (Exception e)
{
e.printStackTrace();
}
return anonUrlSet;
}