2

文字列変数に次のxmlがあります-

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
  <first-name>RaJeEv(๏๏)</first-name>
  <last-name>Diboliya</last-name>
  <headline>Software Engineer at FASTTRACK INDIA.</headline>
  <site-standard-profile-request>
    <url>http://www.linkedin.com/profile?viewProfile=&amp;url>
  </site-standard-profile-request>
</person>

今度は、この文字列から姓名を取得したいと思います。これどうやってするの?

4

5 に答える 5

2

例えば

public class Program {
    public static void Main(String[] args) {
        XDocument xdoc = XDocument.Parse(@"<?xml version=""1.0"" encoding=""UTF-8""     standalone=""yes""?>
<person>
  <first-name>RaJeEv(๏๏)</first-name>
  <last-name>Diboliya</last-name>
  <headline>Software Engineer at FASTTRACK INDIA.</headline>
  <site-standard-profile-request>
    <url>http://www.linkedin.com/profile?viewProfile</url>
  </site-standard-profile-request>
</person>");

        XElement xe = xdoc.Elements("person").First();

        Console.WriteLine("{0} {1}", xe.Element("first-name").Value, xe.Element("last-name").Value);
    }         
}
于 2013-01-24T08:42:30.233 に答える
2

これを逆シリアル化する方法は次のとおりです-

具体的なドメイン クラスを作成するPerson

[Serializable()]
public class Person
{
    [System.Xml.Serialization.XmlElementAttribute("first-name")]
    public string FirstName{ get; set; }

    [System.Xml.Serialization.XmlElementAttribute("last-name")]
    public string LastName{ get; set; }

    [System.Xml.Serialization.XmlElementAttribute("headline")]
    public string Headline{ get; set; }

    [System.Xml.Serialization.XmlElementAttribute("site-standard-profile-request")]
    public string ProfileRequest{ get; set; }
}

XmlSerializer を使用して Person 型に変換します

XmlSerializer serializer = new XmlSerializer(typeof(Person));
var person = serializer.Deserialize(xml) as Person;

プロパティは次のようにアクセスできます

var firstName = person.FirstName;
var lastName = person.LastName;
于 2013-01-24T08:42:53.647 に答える
0

MSDN で直接

XmlReader で XML を解析する

ただし、この構造体がクラスの厳密な型にある場合は、それを xml に変換して元に戻す方法に関するこの回答も見ることができます: Send XML String as Response

于 2013-01-24T08:41:44.780 に答える
0
var person = XElement.Parse(yourString).Element("person");
string firstName = person.Element("first-name").Value;
string lastName = person.Element("last-name").Value;
于 2013-01-24T08:43:59.520 に答える
0

これはあなたが探しているものです..

        XmlDocument xmldoc = new XmlDocument();
        XmlNodeList xmlnode;
        FileStream fs = new FileStream(xmlFilePath, FileMode.Open, FileAccess.Read);
        xmldoc.Load(fs);

        xmlnode = xmldoc.GetElementsByTagName("first-name");
        string firstname= string.Empty;
        if(xmlnode!=null)
            strOption = Regex.Replace(xmlnode[0].InnerText, @"\t|\n|\r| ", "");

        xmlnode = xmldoc.GetElementsByTagName("last-name");
        string lastname= string.Empty;
        if(xmlnode!=null)
            strOption = Regex.Replace(xmlnode[0].InnerText, @"\t|\n|\r| ", "");

それが役に立てば幸い :)

于 2013-01-24T08:48:56.530 に答える