mirror of
https://github.com/revanced/ARSCLib.git
synced 2025-04-30 22:34:24 +02:00
code cleanup
This commit is contained in:
parent
c4142c2267
commit
3eda5edaf6
@ -32,9 +32,6 @@ public class XMLAttribute extends XMLNode{
|
|||||||
public void setNameId(int id){
|
public void setNameId(int id){
|
||||||
mNameId=id;
|
mNameId=id;
|
||||||
}
|
}
|
||||||
public void setValueId(String id){
|
|
||||||
setValueId(XMLUtil.hexToInt(id,0));
|
|
||||||
}
|
|
||||||
public void setValueId(int id){
|
public void setValueId(int id){
|
||||||
mValueId=id;
|
mValueId=id;
|
||||||
}
|
}
|
||||||
|
@ -250,8 +250,5 @@ public class XMLDocument extends XMLNode{
|
|||||||
}
|
}
|
||||||
docEle.setIndent(indent);
|
docEle.setIndent(indent);
|
||||||
}
|
}
|
||||||
public static String htmlToXml(String htmlString){
|
|
||||||
return XMLUtil.htmlToXml(htmlString);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
package com.reandroid.xml;
|
package com.reandroid.xml;
|
||||||
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class XMLUtil {
|
public class XMLUtil {
|
||||||
@ -24,14 +23,15 @@ public class XMLUtil {
|
|||||||
if(s==null){
|
if(s==null){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//String txt=s.trim();
|
return s.length()==0;
|
||||||
String txt=s;
|
|
||||||
return txt.length()==0;
|
|
||||||
}
|
}
|
||||||
public static String escapeXmlChars(String str){
|
public static String escapeXmlChars(String str){
|
||||||
if(str==null){
|
if(str==null){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
if(!PATTERN_ESCAPE.matcher(str).matches()){
|
||||||
|
return str;
|
||||||
|
}
|
||||||
str=str.replaceAll("&", "&");
|
str=str.replaceAll("&", "&");
|
||||||
str=str.replaceAll("<", "<");
|
str=str.replaceAll("<", "<");
|
||||||
str=str.replaceAll(">", ">");
|
str=str.replaceAll(">", ">");
|
||||||
@ -44,6 +44,10 @@ public class XMLUtil {
|
|||||||
if(str==null){
|
if(str==null){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
int i = str.indexOf('"');
|
||||||
|
if(i<0){
|
||||||
|
return str;
|
||||||
|
}
|
||||||
str=str.replaceAll("\"", """);
|
str=str.replaceAll("\"", """);
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
@ -51,30 +55,16 @@ public class XMLUtil {
|
|||||||
if(str==null){
|
if(str==null){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
int i=str.indexOf('&');
|
||||||
|
if(i<0){
|
||||||
|
return str;
|
||||||
|
}
|
||||||
str=str.replaceAll("&", "&");
|
str=str.replaceAll("&", "&");
|
||||||
str=str.replaceAll("<", "<");
|
str=str.replaceAll("<", "<");
|
||||||
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;
|
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){
|
public static String trimQuote(String txt){
|
||||||
if(txt==null){
|
if(txt==null){
|
||||||
return null;
|
return null;
|
||||||
@ -97,66 +87,8 @@ public class XMLUtil {
|
|||||||
}
|
}
|
||||||
return tmp.substring(1,end);
|
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="<?xml version=\"1.0\" encoding=\"utf-8\"?>\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>[a-f0-9]+)\\s*$");
|
private static final Pattern PATTERN_ESCAPE = Pattern.compile("^.*[><&].*$");
|
||||||
|
|
||||||
//<link rel="preconnect" href="https://avatars.githubusercontent.com">
|
|
||||||
private static Pattern PATTERN_HTML_HEADER_CHILDES=Pattern.compile("(?<Element><\\s*(?<Tag>[a-zA-Z]+)\\s*[^<>]+>)");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user