这段代码应该将xml
转换为json,我在第一个错误中得到了下面的错误。SAXBuilder
无法读取xml
文件。
我在这个代码中使用了JDOM2库。
Java代码:
package com.example.books_xmltojson;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import org.jdom2.Document;
import org.jdom2.input.SAXBuilder;
import java.io.InputStream;
public class MainActivity extends AppCompatActivity {
EditText edittext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edittext = findViewById(R.id.edittext);
// SAX builder
InputStream input = getResources().openRawResource(R.raw.books);
SAXBuilder builder = new SAXBuilder();
try {
Document doc = builder.build(input);
} catch (Exception e) {
edittext.setText(e.toString());
}
}
}
XML R.raw.books:
// Resources
<catalog>
<book>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
</book>
<book>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
</book>
</catalog>
错误:
org.jdom2.JDOMException:http://xml.org/sax/features/external-general-entities功能http://xml.org/sax/features/external-general-entities不支持SAX驱动程序org.apache.harmony.xml.ExpatReader
1条答案
按热度按时间wyyhbhjk1#
首先,我必须在项目中实现
xercesImpl.jar
。然后我不得不改变SAXBuilder
如下:而且你猜怎么着,
ChatGPT
一步一步地解决了我的问题。太棒了。