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,这意味着该列表不包含任何元素,所以在某处存在解析错误。