From 3eda5edaf6b318e080e9c6b73e34d01c5a49bd4f Mon Sep 17 00:00:00 2001 From: REAndroid Date: Tue, 17 Jan 2023 09:25:23 -0500 Subject: [PATCH] code cleanup --- .../java/com/reandroid/xml/XMLAttribute.java | 3 - .../java/com/reandroid/xml/XMLDocument.java | 3 - src/main/java/com/reandroid/xml/XMLUtil.java | 94 +++---------------- 3 files changed, 13 insertions(+), 87 deletions(-) diff --git a/src/main/java/com/reandroid/xml/XMLAttribute.java b/src/main/java/com/reandroid/xml/XMLAttribute.java index 7f7856f..1cf7265 100755 --- a/src/main/java/com/reandroid/xml/XMLAttribute.java +++ b/src/main/java/com/reandroid/xml/XMLAttribute.java @@ -32,9 +32,6 @@ public class XMLAttribute extends XMLNode{ public void setNameId(int id){ mNameId=id; } - public void setValueId(String id){ - setValueId(XMLUtil.hexToInt(id,0)); - } public void setValueId(int id){ mValueId=id; } diff --git a/src/main/java/com/reandroid/xml/XMLDocument.java b/src/main/java/com/reandroid/xml/XMLDocument.java index 90f6185..128b164 100755 --- a/src/main/java/com/reandroid/xml/XMLDocument.java +++ b/src/main/java/com/reandroid/xml/XMLDocument.java @@ -250,8 +250,5 @@ public class XMLDocument extends XMLNode{ } docEle.setIndent(indent); } - public static String htmlToXml(String htmlString){ - return XMLUtil.htmlToXml(htmlString); - } } diff --git a/src/main/java/com/reandroid/xml/XMLUtil.java b/src/main/java/com/reandroid/xml/XMLUtil.java index a3afa17..a1e8be6 100755 --- a/src/main/java/com/reandroid/xml/XMLUtil.java +++ b/src/main/java/com/reandroid/xml/XMLUtil.java @@ -15,7 +15,6 @@ */ package com.reandroid.xml; -import java.util.regex.Matcher; import java.util.regex.Pattern; public class XMLUtil { @@ -24,14 +23,15 @@ public class XMLUtil { if(s==null){ return true; } - //String txt=s.trim(); - String txt=s; - return txt.length()==0; + return s.length()==0; } public static String escapeXmlChars(String str){ if(str==null){ return null; } + if(!PATTERN_ESCAPE.matcher(str).matches()){ + return str; + } str=str.replaceAll("&", "&"); str=str.replaceAll("<", "<"); str=str.replaceAll(">", ">"); @@ -44,6 +44,10 @@ public class XMLUtil { if(str==null){ return null; } + int i = str.indexOf('"'); + if(i<0){ + return str; + } str=str.replaceAll("\"", """); return str; } @@ -51,30 +55,16 @@ public class XMLUtil { if(str==null){ return null; } + int i=str.indexOf('&'); + if(i<0){ + return str; + } str=str.replaceAll("&", "&"); str=str.replaceAll("<", "<"); str=str.replaceAll(">", ">"); str=str.replaceAll(""", "\""); - if(str.startsWith("\"")&&str.endsWith("\"")){ - // str=str.substring(1, str.length()-1); - } return str; } - public static String intToHex(int val){ - return String.format("0x%08x", val); - } - public static int hexToInt(String hexStr, int def){ - if(hexStr==null){ - return def; - } - Matcher matcher=PATTERN_HEX.matcher(hexStr); - if(!matcher.find()){ - return def; - } - hexStr=matcher.group("A"); - return Integer.parseInt(hexStr, 16); - } - public static String trimQuote(String txt){ if(txt==null){ return null; @@ -97,66 +87,8 @@ public class XMLUtil { } return tmp.substring(1,end); } - public static boolean isStringEqual(String s1, String s2) { - if(s1==null&&s2==null){ - return true; - } - if(s1==null||s2==null){ - return false; - } - return s1.equals(s2); - } - static String htmlToXml(String htmlString){ - if(htmlString==null){ - return null; - } - int i=0; - htmlString=htmlString.trim(); - String result=htmlString; - Matcher matcher=PATTERN_HTML_HEADER_CHILDES.matcher(htmlString); - while (matcher.find()){ - String openedTag=matcher.group("Element"); - if(openedTag.contains("https://github.githubassets.com")){ - openedTag.trim(); - } - int len=openedTag.length(); - String tagName=matcher.group("Tag"); - if(isOpenHtmlTag(tagName) && !openedTag.endsWith("/>")&& !openedTag.endsWith("/ >")){ - String rep=openedTag.substring(0, len-1); - rep=rep+"/>"; - result=result.replace(openedTag, rep); - result=result.replace(" crossorigin/>", "/>"); - result=result.replace(" data-pjax-transient/>", "/>"); - } - i=htmlString.indexOf(openedTag); - i=i+len; - htmlString=htmlString.substring(i); - htmlString=htmlString.trim(); - matcher=PATTERN_HTML_HEADER_CHILDES.matcher(htmlString); - } - result="\n"+result; - return result; - } - private static boolean isOpenHtmlTag(String tagName){ - if("link".equals(tagName)){ - return true; - } - if("meta".equals(tagName)){ - return true; - } - if("img".equals(tagName)){ - return true; - } - if("style".equals(tagName)){ - return true; - } - return false; - } - private static Pattern PATTERN_HEX=Pattern.compile("^\\s*(0x)?(?[a-f0-9]+)\\s*$"); - - // - private static Pattern PATTERN_HTML_HEADER_CHILDES=Pattern.compile("(?<\\s*(?[a-zA-Z]+)\\s*[^<>]+>)"); + private static final Pattern PATTERN_ESCAPE = Pattern.compile("^.*[><&].*$"); }