1
我想要規範化我從android設備上的服務器接收到的一些xml。不過,Android似乎並不喜歡org.apache.xml.security.c14n.Canonicalizer.canonicalize(String inputText)
。這是因爲Android的DOM庫不喜歡DocumentBuilder.setValidating()
(由Canonicalizer使用),它會自動拋出異常。 我試圖直接從Canonicalizer複製代碼,而無需麻煩的線路:Android XML規範化
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
InputSource in = new InputSource(new ByteArrayInputStream(inputBytes));
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(in);
byte result[] = Canonicalizer.getInstance(canonicalizationMethod).canonicalizeSubtree(doc);
然而,這未能正確規範化它的XML標籤裏面的屬性不會重新排序,先有命名空間,因爲它應該。
有沒有其他方法可以在android上實際規範化xml?