0
我在PHP中有一個Web服務,它讀取相冊的XML文件,並將其作爲字符串簡單地返回給我的ASP.NET Web窗體。現在,發送和接收都很好。在C#中解析XML的問題ASP.NET
問題是,現在我想解析這些數據,以便將新的專輯和其他信息(例如流派,藝術家和歌曲)保存到我的ASP.NET網站的數據庫中,我頭痛。
這裏的Web服務客戶端的代碼:
protected void btnGetAlbums_Click(object sender, EventArgs e)
{
phpPublisher.albums albums = new albums();
string result = albums.getAlbums();
if (String.IsNullOrEmpty(result))
{
txtResult.Text = "No albums found";
}
else
{
// parse XML
var xml = XElement.Parse(result);
var albumList = xml.Descendants("Albums")
.Elements("Album");
if (albumList.Count() > 0)
{
txtResult.Text = "Has at least 1 album!";
}
}
}
這是現在只是很「demo'十歲上下的代碼,我還沒有解決的數據庫中插入和所有因爲我不能甚至解析數據。
如果我輸出我txtResult
文本框中xml
變量,它表明:
<Albums> <Album> <AlbumTitle>Stripped</AlbumTitle> <AlbumArtist>Christina Aguilera</AlbumArtist> <AlbumGenre>Pop</AlbumGenre> <AlbumSongs> <AlbumSong>Beautiful</AlbumSong> </AlbumSongs> </Album></Albums>
所有在一條線,這是非常令人沮喪。我不知道它是否可以像這樣解析數據......我想在PHP端做什麼只是發送ASP.NET可以讀取的XML數據對象。這可能嗎?
這是我的PHP Web服務函數的樣子(它返回一個字符串)。
function getAlbums() {
$dataSource = "albums.xml";
if(file_exists($dataSource)) {
$xml = simplexml_load_file($dataSource);
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
return $dom->saveXML();
} else {
return null;
}
}
任何幫助表示讚賞。謝謝。
P.S.當我執行albumList.Count()
時,它返回0,這意味着該列表不包含任何元素,所以在某處存在解析錯誤。