Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 将HTML/JS中的工作XML更正分配给angular JS_Angularjs_Xmlhttprequest_Odata_Xml Serialization_Integration - Fatal编程技术网

Angularjs 将HTML/JS中的工作XML更正分配给angular JS

Angularjs 将HTML/JS中的工作XML更正分配给angular JS,angularjs,xmlhttprequest,odata,xml-serialization,integration,Angularjs,Xmlhttprequest,Odata,Xml Serialization,Integration,我的后端提供了一个带有标记的XML响应,这些标记必须首先更正才能进一步处理。我通过将其转换为字符串、进行更正并将其转换回XML来实现这一点 我希望它也能在AngularJS中工作,那么如何在我的模块/控制器中分配这些东西呢 目前,我的模块和控制器如下所示(复制自另一个示例): var myModule=angular.module(“myModule”,“ODataResources”); 控制器(“MyController”,函数($scope,$odataresource){ $scope.

我的后端提供了一个带有标记的XML响应,这些标记必须首先更正才能进一步处理。我通过将其转换为字符串、进行更正并将其转换回XML来实现这一点

我希望它也能在AngularJS中工作,那么如何在我的模块/控制器中分配这些东西呢

目前,我的模块和控制器如下所示(复制自另一个示例):

var myModule=angular.module(“myModule”,“ODataResources”);
控制器(“MyController”,函数($scope,$odataresource){
$scope.results=
$odataresource(“http://services.odata.org/V4/Northwind/Northwind.svc/Products")
.odata()
.filter('单价','>',10)
.filter('中断',真)
.orderBy('UnitsInStock','asc')
.expand('类别')
.query();
});
当您在此页面上插入以下代码时,我的解决方案将使用HTML/JS:


表,th,td{
边框:1px纯黑;
边界塌陷:塌陷;
}
th,td{
填充物:5px;
}
获取我的CD收藏


函数loadDoc(){ var xhttp=newXMLHttpRequest(); xhttp.onreadystatechange=函数(){ 如果(xhttp.readyState==4&&xhttp.status==200){ myFunction(xhttp); } }; xhttp.open(“GET”https://xsgeos0015309874trial.hanatrial.ondemand.com/s0015309874trial/xsgeo/geotabelle/geoDB/GeotabelleODataService.xsodata/Adressen?$top=2“,正确); xhttp.send(); } 函数myFunction(xml){ var i; var xmlDoc=xml.responseXML; var s1=新的XMLSerializer().serializeToString(xmlDoc); var s2=新字符串(s1); 替换变量=s2。拆分('d:纬度')。联接('Latitude'); var replaced2=replaced2.split('d:Longitude').join('Longitude'); var replaced3=replaced2.split('d:hausnumer').join('hausnumer'); var replaced4=replaced3.split('d:PLZ').join('PLZ'); var replaced5=replaced4.split('d:ortsname').join('ortsname'); var replaced6=replaced5.split('d:Street')。join('Street'); var replaced7=replaced6.split('m:type').join('type'); var replaced8=replaced7.split('m:properties').join('properties'); 控制台日志(replaced8); var result=$.parseXML(replaced8); 警报(结果); var table=“ArtistTitle”; var x=result.getElementsByTagName(“属性”); 对于(i=0;i<2;i++){ 表+=“”+ x[i].getElementsByTagName(“经度”)[0].childNodes[0].nodeValue+ "" + x[i].getElementsByTagName(“纬度”)[0].childNodes[0].nodeValue+ ""; } document.getElementById(“demo”).innerHTML=table; }

提前感谢。

使用运行块作为最简单的迁移路径:

var-app=angular.module('foo',[]);
函数foo()
{
函数loadDoc()
{
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数()
{
如果(xhttp.readyState==4&&xhttp.status==200)
{
myFunction(xhttp);
}
};
open(“GET”,“data:application/xml”,true);
xhttp.send();
}
函数myFunction(xml)
{
var table=“ArtistTitle”;
document.getElementById(“demo”).innerHTML=table;
}
loadDoc();
}
app.run(foo)

使用运行块作为最简单的迁移路径:

var-app=angular.module('foo',[]);
函数foo()
{
函数loadDoc()
{
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数()
{
如果(xhttp.readyState==4&&xhttp.status==200)
{
myFunction(xhttp);
}
};
open(“GET”,“data:application/xml”,true);
xhttp.send();
}
函数myFunction(xml)
{
var table=“ArtistTitle”;
document.getElementById(“demo”).innerHTML=table;
}
loadDoc();
}
app.run(foo)

<script>var myModule = angular.module("MyModule", ['ODataResources']);
myModule.controller("MyController", function ($scope, $odataresource) {
$scope.results =


        $odataresource("http://services.odata.org/V4/Northwind/Northwind.svc/Products")
                .odata()
                .filter('UnitPrice', '>', 10)
                .filter('Discontinued', true)
                .orderBy('UnitsInStock', 'asc')
                .expand('Category')
                .query();
});</script>
 <!DOCTYPE html>
 <html>
 <style>
 table,th,td {
 border : 1px solid black;
 border-collapse: collapse;
 }
 th,td {
 padding: 5px;
 }
</style>
<body>

<button type="button" onclick="loadDoc()">Get my CD collection</button>
<br><br>
<table id="demo"></table>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
  myFunction(xhttp);
}
};
xhttp.open("GET",        "https://xsgeos0015309874trial.hanatrial.ondemand.com/s0015309874trial/xsgeo/geotabelle/geoDB/GeotabelleODataService.xsodata/Adressen?$top=2", true);
xhttp.send();
}
function myFunction(xml) {
var i;
var xmlDoc = xml.responseXML;

var s1 = new XMLSerializer().serializeToString(xmlDoc);
var s2 = new String(s1);
var replaced = s2.split('d:Latitude').join('Latitude');
var replaced2 = replaced.split('d:Longitude').join('Longitude');
var replaced3 = replaced2.split('d:Hausnummer').join('Hausnummer');
var replaced4 = replaced3.split('d:PLZ').join('PLZ');
var replaced5 = replaced4.split('d:ortsname').join('ortsname');
var replaced6 = replaced5.split('d:Street').join('Street');
var replaced7 = replaced6.split('m:type').join('type');
var replaced8 = replaced7.split('m:properties').join('properties');
console.log(replaced8);

var result = $.parseXML(replaced8);
alert(result);
var table="<tr><th>Artist</th><th>Title</th></tr>";
var x = result.getElementsByTagName("properties");

for (i = 0; i < 2; i++) {
table += "<tr><td>" +
x[i].getElementsByTagName("Longitude")[0].childNodes[0].nodeValue +
"</td><td>" +
x[i].getElementsByTagName("Latitude")[0].childNodes[0].nodeValue +
"</td></tr>";

}
document.getElementById("demo").innerHTML = table;


}
</script>


</body>
</html>