2014-09-03 34 views
0

我想解析一個包含數字的枚舉值的xml文件。 從android的KxmlParser似乎有一個問題。我查看了代碼,它只接收了字母和其他一些令牌,但沒有數字。我如何重新使用android sdk中的代碼進行XML解析

因此,我複製了KxmlParser實現,並更改了該部分一切工作正常。但爲了解決這個問題,我在項目中添加了一個libcore-jar。現在我得到編譯錯誤,因爲我不應該使用這個庫,除非創建一個核心庫。

所以這裏是我的問題:什麼是最好的方式來改變我的應用程序的android特定的代碼,並解決對libcore的引用?

+0

你試過[ android xml pull parser](http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html),這裏是一個[tutorial](http://www.vogella.com/tutorials/AndroidXML/ article.html)。 – 2014-09-03 18:21:34

回答

0

這不是理想的,但如果你需要做類似的東西瘋了(我也一樣),你正在使用maven,你可以做這樣的事情遮陽包:

<plugin> 
    <groupId>org.sonatype.plugins</groupId> 
    <artifactId>jarjar-maven-plugin</artifactId> 
    <version>1.8</version> 
    <executions> 
     <execution> 
      <phase>process-classes</phase> 
      <goals> 
       <goal>jarjar</goal> 
      </goals> 
      <configuration> 
       <overwrite>true</overwrite> 
       <includes> 
        <include>com.fasterxml:aalto-xml</include> 
        <include>commons-codec:commons-codec</include> 
        <include>javax.xml.stream:stax-api</include> 
        <include>org.codehaus.woodstox:stax2-api</include> 
        <include>com.cookies:app</include> 
       </includes> 
       <rules> 
        <!-- We want to used STAX but Android doesn't generally like us including javax packages --> 
        <rule> 
         <pattern>javax.xml.stream.**</pattern> 
         <result>[email protected]</result> 
        </rule> 
        <!-- Android packages commons-codec < 1.4 and we want to make use of the Base64OutputStream to *decode* --> 
        <rule> 
         <pattern>org.apache.commons.codec.**</pattern> 
         <result>[email protected]</result> 
        </rule> 
       </rules> 
      </configuration> 
     </execution> 
    </executions> 
</plugin>