我是新手,对原生做出反应,尤其是获取请求。我获取一个使用xml文件响应的Web服务。我试图解析它并将我想要的值传递给选择器但是,但它不起作用!对请求的响应是可以的,但问题在于解析它。我试过xmldom库和xml12js,什么都没有用......
这是我的代码:
parseSurface(s){
const DOMParser = require('xmldom').DOMParser;
console.log('Parsing the feed...');
let doc = new DOMParser().parseFromString(s, 'text/xml');
let objs = [];
let surfs = s.getElementsByTagName('Surfaces');
//let surfaces = doc.getElementsByTagName('surface:LIBELLE');
//let surfaces = s.querySelectorAll('Surfaces');
// let surface = s.querySelectorAll('surface');
// let libelle = s.querySelector('LIBELLE');
console.log(surfs)
}
getSurfaces(){
fetch('myWebService?')
.then((response) => response.text())
.then((responseText) => {
this.parseSurface(responseText);
})
.catch((err) => {
console.log('Error fetching the feed: ', err)
})
}
componentDidMount(){
this.getSurfaces();
}
parseSruface
如果我使用doc
变量或s
我在变量中输入querySelectorAll
时出现此错误,与getElementByTagName
或{{1相同}}:
获取Feed时出错:[TypeError:doc.querySelectorAll不是函数。 (在'doc.querySelectorAll('Surfaces')'中,'doc.querySelectorAll'未定义)]
我希望我很清楚,我完全迷失了,我会感激任何帮助,谢谢你。
答案 0 :(得分:0)
请试试这个:
const parseString = require('react-native-xml2js').parseString;
getSurfaces(){
fetch('http://clubonlinetest.alithya.fr/WebServices/AppliMobile.asmx/getSurfaceList?')
.then((response) => response.text())
.then((responseText) => {
parseString(responseText, function (err, result) {
console.log(response)
});
})
.catch((err) => {
console.log('Error fetching the feed: ', err)
})
}
componentDidMount(){
this.getSurfaces();
}