Мне нужно получить доступ к URL-адресу и получить ответ XML (теги содержат двоеточие в нем), связать ответ в классе модели и отобразить его в HTML-таблице.
Пока что я получил доступ к URL, прочитал xml, и моя проблема в том, что я не могу связать данные в моем классе модели, так как в тегах есть двоеточие, без двоеточия я могу это легко сделать, я прочитал что использование пространства имен - это путь, но я новичок в этом и не могу реализовать логику. Любая помощь будет очень благодарна.
P.S: я использую mvc, c #, просмотр бритвы
//this will read the url and get back xml response and save it
string xml = null;
WebRequest req = WebRequest.Create("my__xml__link__url");
req.Credentials = CredentialCache.DefaultCredentials;
WebResponse res = req.GetResponse();
Stream dataStream = res.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
xml = reader.ReadToEnd();
reader.Close();
res.Close();
int length = 8;
const string valid =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
StringBuilder resz = new StringBuilder();
Random rnd = new Random();
while (0 < length--)
{
resz.Append(valid[rnd.Next(valid.Length)]);
}
string sf = DateTime.Now.ToString();
string generatedresult = resz.ToString() + "_" + ".xml";
XmlDocument doc = new XmlDocument();
try
{
doc.LoadXml(xml);
}
catch (Exception ex)
{
string dgj = ex.ToString();
}
doc.Save(@"D:\" + generatedresult + "");
//this below code to read the data and bind it in the model and
//displayit in the html table
List<CustomerModel> customers = new List<CustomerModel>();
//Load the XML file in XmlDocument.
doc.Load(Server.MapPath("~/oWtMRUR8_.xml"));
foreach (XmlNode node in
doc.SelectNodes("/m:propertiesz/m:properties"))
{
customers.Add(new CustomerModel
{
CustomerId = int.Parse(node["d:No"].InnerText),
Name = node["d:Description"].InnerText,
Country = node["d:Type"].InnerText
});
}
return View(customers);
// I have attached my sample xml code
<?xml version="1.0" encoding="utf-8"?>
<feed xml:base="" xmlns="http://www.w3.org/2005/Atom" xmlns:d=""
xmlns:m="">
<id></id>
<title type="text">ItemList</title>
<updated>2019-05-08T12:10:04Z</updated>
<link rel="self" title="ItemList" href="ItemList" />
<id></id>
<category term="NAV.ItemList" scheme="" />
<link rel="edit" title="ItemList" href="" />
<title />
<updated>2019-05-08T12:10:04Z</updated>
<author>
<name />
</author>
<content type="application/xml">
<m:properties>
<d:No>1000</d:No>
<d:Description>Bicycle</d:Description>
<d:Type>Inventory</d:Type>
</m:properties>
</content>
<id></id>
<category term="NAV.ItemList" scheme="" />
<link rel="edit" title="ItemList" href="" />
<title />
<updated>2019-05-08T12:10:04Z</updated>
<author>
<name />
</author>
<content type="application/xml">
<m:properties>
<d:No>1001</d:No>
<d:Description>Touring Bicycle</d:Description>
<d:Type>Inventory</d:Type>
</m:properties>
</content>
Мне нужно извлечь только содержимое внутри тега d :.
Примечание. Я слегка отредактировал образец XML-содержимого из-за соображений конфиденциальности