Skip to content

Commit c080b2b

Browse files
test: Fix xpath setting
CLose #2229 Signed-off-by: unknowIfGuestInDream <liang.tang.cx@gmail.com>
1 parent 3adcd09 commit c080b2b

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

core/src/test/java/com/tlcsdm/core/util/CSCcrlParseTest.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,15 @@
3737
import org.w3c.dom.NodeList;
3838
import org.xml.sax.SAXException;
3939

40+
import javax.xml.XMLConstants;
4041
import javax.xml.parsers.DocumentBuilder;
4142
import javax.xml.parsers.DocumentBuilderFactory;
4243
import javax.xml.parsers.ParserConfigurationException;
4344
import javax.xml.xpath.XPath;
4445
import javax.xml.xpath.XPathConstants;
4546
import javax.xml.xpath.XPathExpressionException;
4647
import javax.xml.xpath.XPathFactory;
48+
import javax.xml.xpath.XPathFactoryConfigurationException;
4749
import java.io.File;
4850
import java.io.IOException;
4951
import java.util.Arrays;
@@ -128,9 +130,11 @@ void parseXpath() {
128130
// 加载 XML 文档
129131
DocumentBuilder builder = factory.newDocumentBuilder();
130132
document = builder.parse(project);
131-
133+
XPathFactory xpathfactory = XPathFactory.newInstance();
134+
// 关闭限制 #2229
135+
xpathfactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, false);
132136
// 执行 XPath 查询
133-
XPath xpath = XPathFactory.newInstance().newXPath();
137+
XPath xpath = xpathfactory.newXPath();
134138
NodeList nodeList = (NodeList) xpath.evaluate(xpathExpr, document, XPathConstants.NODESET);
135139

136140
// 构造标签->值映射
@@ -151,7 +155,8 @@ void parseXpath() {
151155
System.out.println(tag + " 未找到");
152156
}
153157
}
154-
} catch (ParserConfigurationException | SAXException | IOException | XPathExpressionException e) {
158+
} catch (ParserConfigurationException | SAXException | IOException | XPathExpressionException |
159+
XPathFactoryConfigurationException e) {
155160
throw new RuntimeException(e);
156161
}
157162
}

0 commit comments

Comments
 (0)