3
XMLを返すコントローラへのAPI呼び出しを実行しています。出力は次のとおりです。XML APIの子関数が返されますか?
<ArrayOfreport_overallTime>
<report_overallTime>
<label>United States</label>
<value>65</value>
</report_overallTime>
<report_overallTime>
<label>United Kingdom</label>
<value>58</value>
</report_overallTime>
<report_overallTime>
<label>Germany</label>
<value>30</value>
</report_overallTime>
<report_overallTime>
<label>India</label>
<value>65</value>
</report_overallTime>
<report_overallTime>
<label>Russia</label>
<value>65</value>
</report_overallTime>
<report_overallTime>
<label>Germany</label>
<value>30</value>
</report_overallTime>
</ArrayOfreport_overallTime>
これは、次のC#のコントローラコードから生成されています。私のjQueryので
public class report_overallTimeController : ApiController
{
public void report_overallTime(HttpContext context)
{
var request = HttpContext.Current.Request;
var settings = Properties.Settings.Default;
GetAllItems();
}
report_overallTime[] items = new report_overallTime[]
{
new report_overallTime { label = "United States", value = "65" },
new report_overallTime { label = "United Kingdom", value = "58" },
new report_overallTime { label = "Germany", value = "30" },
new report_overallTime { label = "India", value = "65" },
new report_overallTime { label = "Russia", value = "65" },
new report_overallTime { label = "Germany", value = "30" }
};
public IEnumerable<report_overallTime> GetAllItems()
{
return items;
}
}
は、私がラベル/値ペアを取得し、配列にそれらを挿入しようとしています。私は出力にVARラベルの値をしようとすると
function initChart(xml) {
var data = [];
//alert((new XMLSerializer()).serializeToString(xml));
$(xml).find('ArrayOfreport_overallTime report_overallTime').each(function (index) {
var label = $(this).children("label").text;
var value = $(this).children("value").text;
data.push([label, parseFloat(value)]);
});
//Do something with data...
}
、私は私の警告で次を得る:私は間違って
function(a) {
return Y(this, function(a) {
return void 0 === a ? n.text(this) : this.empty().append((this[0] && this[0].ownerDocument || d).createTextNode(a))
}, null, a, arguments.length)
}
何をしているのですか?私はその国に警告することを期待しています。 ArrayOfreport_overallTime
要素は、XML文字列のルートであるため、
のvarデータは、もはや機能を返しますが、今は空の配列を返します。あなたが 'text'を使用して、[] – KMBonin
あなたのオリジナルバージョンは、機能を返さない'テキスト() '。しかし、あなたがフィドルから見ることができるように、これはあなたが提供したXMLを与えられています。動作していないコードのサンプルをフィドルに表示して、ロジックがどのように構造化されているかを確認できますか? –
それはそれでした!テキストをtext()とvoilaに変更しました!出来た!先端に感謝します。 – KMBonin