其余XML

澳洲男孩

知名会员
已加入
2020年9月7日
留言内容
45
编程经验
Beginner
嗨,我必须创建一个REST程序来使用XML。
RestSharp是最好的方式吗?然后使用XMLconvert?
如果有任何教程可以帮助我。我将不胜感激。
另外,我还可以将测试API用于Rest XML。
谢谢,
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,500
地点
弗吉尼亚州切萨皮克
编程经验
10+
尽管REST与数据无关,但是如果要使用与REST一样现代的版本,为什么还要通过将数据转换为XML来倒退呢? JSON是结构化数据的首选格式。

无论如何,您不需要多余的东西,例如RestSharp或XMLConvert。 .NET Framework具有进行REST调用所需的类以及XML解析。
 

澳洲男孩

知名会员
已加入
2020年9月7日
留言内容
45
编程经验
Beginner
尽管REST与数据无关,但是如果要使用与REST一样现代的版本,为什么还要通过将数据转换为XML来倒退呢? JSON是结构化数据的首选格式。

无论如何,您不需要多余的东西,例如RestSharp或XMLConvert。 .NET Framework具有进行REST调用所需的类以及XML解析。
我已经完成了一个名为Json的应用程序。我被要求做一个调用XML的应用程序。 .NET框架中可以使用的类的名称是什么?
 

澳洲男孩

知名会员
已加入
2020年9月7日
留言内容
45
编程经验
Beginner
嗨,我找到了一个教程,到现在为止。
但是,如果我把xml作为
<?xml version="1.0" encoding="UTF - 8"?>
< string xmlns = "ht tp://www.xyz.com/webservices/" >
< DRInfo >< DataOwner ID = "bc093a17-12e4-465b-8927-a9e40d57ec7b" Name = "XXX" Description = "" /> etc


字符串conString; conString =""; XmlDocument xmlDoc =新的XmlDocument(); xmlDoc.LoadXml("");如果(xmlDoc.DocumentElement.Attributes ["name:
 != null) conString = xmlDoc.DocumentElement.Attributes["name"].Value + "\r\n"; if (xmlDoc.DocumentElement.Attributes["age"] != null) conString = conString + xmlDoc.DocumentElement.Attributes["age"].Value + "\r\n"; textBox1.Text = conString;"]string conString;
            conString = "";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml("<user name=\"John Doe\" age=\"42\"></user>");
            if (xmlDoc.DocumentElement.Attributes["name"] != null)
                conString = xmlDoc.DocumentElement.Attributes["name"].Value + "\r\n";
            if (xmlDoc.DocumentElement.Attributes["age"] != null)
                conString = conString + xmlDoc.DocumentElement.Attributes["age"].Value + "\r\n";
            textBox1.Text = conString;
 

澳洲男孩

知名会员
已加入
2020年9月7日
留言内容
45
编程经验
Beginner
你好
从这个,并添加到我有以下内容;
我试图挖掘出"欧洲中央银行"来自xml响应有效负载。
有人可以帮忙吗?
谢谢,

C#:
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
<gesmes:subject>Reference rates</gesmes:subject>
<gesmes:Sender>
<gesmes:name>欧洲中央银行</gesmes:name>
</gesmes:Sender>
<Cube>
<Cube time="2020-12-16">
<Cube currency="USD" rate="1.2189"/>
<Cube currency="JPY" rate="125.97"/>
<Cube currency="BGN" rate="1.9558"/>
<Cube currency="CZK" rate="26.200"/>
<Cube currency="DKK" rate="7.4415"/>
<Cube currency="GBP" rate="0.89950"/>
<Cube currency="HUF" rate="355.52"/>
<Cube currency="PLN" rate="4.4354"/>
<Cube currency="RON" rate="4.8688"/>
<Cube currency="SEK" rate="10.1785"/>


C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Serialization;

namespace XMLApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        [XmlRoot(ElementName = "Sender", Namespace = "http://www.gesmes.org/xml/2002-08-01")]
        public class Sender
        {
            [XmlElement(ElementName = "name", Namespace = "http://www.gesmes.org/xml/2002-08-01")]
            public string Name { get; set; }
        }

        [XmlRoot(ElementName = "Cube", Namespace = "http://www.ecb.int/vocabulary/2002-08-01/eurofxref")]
        public class Cube
        {
            [XmlAttribute(AttributeName = "currency")]
            public string Currency { get; set; }
            [XmlAttribute(AttributeName = "rate")]
            public string Rate { get; set; }
        }

        [XmlRoot(ElementName = "Envelope", Namespace = "http://www.gesmes.org/xml/2002-08-01")]
        public class Envelope
        {
            [XmlElement(ElementName = "subject", Namespace = "http://www.gesmes.org/xml/2002-08-01")]
            public string Subject { get; set; }
            [XmlElement(ElementName = "Sender", Namespace = "http://www.gesmes.org/xml/2002-08-01")]
            public Sender Sender { get; set; }
            [XmlElement(ElementName = "Cube", Namespace = "http://www.ecb.int/vocabulary/2002-08-01/eurofxref")]
            public Cube Cube { get; set; }
            [XmlAttribute(AttributeName = "gesmes", Namespace = "http://www.w3.org/2000/xmlns/")]
            public string Gesmes { get; set; }
            [XmlAttribute(AttributeName = "xmlns")]
            public string Xmlns { get; set; }
        }



        private void button1_Click(object sender, EventArgs e)
        {
            string conString;
            conString = "";
            string Value;
            Value = "";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml");
            
            foreach (XmlNode xmlNode in xmlDoc.DocumentElement.ChildNodes[2].ChildNodes[0].ChildNodes)
                conString = conString + xmlNode.Attributes["currency"].Value + ": " + xmlNode.Attributes["rate"].Value + "\r\n";

            textBox1.Text = conString;
            textBox2.Text = xmlDoc.DocumentElement.LocalName;
        }
    }
}
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,500
地点
弗吉尼亚州切萨皮克
编程经验
10+
在上面的代码中,您证明了您已经知道如何在XML DOM上导航以获取货币汇率。为什么不做同样的事情来获得您正在寻找的其他值?
 

澳洲男孩

知名会员
已加入
2020年9月7日
留言内容
45
编程经验
Beginner
在上面的代码中,您证明了您已经知道如何在XML DOM上导航以获取货币汇率。为什么不做同样的事情来获得您正在寻找的其他值?
你的意思是
C#:
foreach (XmlNode xmlNode in xmlDoc.DocumentElement.ChildNodes[1].ChildNodes[0].ChildNodes)
                conString1 = conString + xmlNode.Attributes["name"].Value;
            textBox2.Text = conString1;
恐怕我无法与到目前为止所见的东西放在一起。它可能真的很简单,但目前无法看到。
 
最佳 底部