Browse Source

add method

lixiaohua 5 years ago
parent
commit
2602935b60

+ 17 - 0
hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java

@@ -70,6 +70,10 @@ public class XmlUtil {
 	 */
 	public static final String INVALID_REGEX = "[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]";
 	/**
+	 * 在XML中注释的内容 正则
+	 */
+	public static final String NOTE_REGEX = "(?s)<!--.+?-->";
+	/**
 	 * XML格式化输出默认缩进量
 	 */
 	public static final int INDENT_DEFAULT = 2;
@@ -672,6 +676,19 @@ public class XmlUtil {
 	}
 
 	/**
+	 * 去除XML文本中的注释内容
+	 *
+	 * @param xmlContent XML文本
+	 * @return 当传入为null时返回null
+	 */
+	public static String cleanNote(String xmlContent) {
+		if (xmlContent == null) {
+			return null;
+		}
+		return xmlContent.replaceAll(NOTE_REGEX, "");
+	}
+
+	/**
 	 * 根据节点名获得子节点列表
 	 *
 	 * @param element 节点

+ 7 - 0
hutool-core/src/test/java/cn/hutool/core/util/XmlUtilTest.java

@@ -211,6 +211,13 @@ public class XmlUtilTest {
 		Assert.assertEquals(testBean.getBankCode(), testBean2.getBankCode());
 	}
 
+	@Test
+	public void cleanNoteTest() {
+		final String xmlContent = "<title>hutool</title><!-- 这是注释 --><lang>java</lang>";
+		final String ret = XmlUtil.cleanNote(xmlContent);
+		Assert.assertEquals("<title>hutool</title><lang>java</lang>", ret);
+	}
+
 	@Data
 	public static class TestBean {
 		private String ReqCode;