2013-10-03 3 views
1

나는이 사이트와 Google을 통해 검색을 수행했는데 실제로 이와 비슷한 것을 찾지 못했습니다. 내가 겪었던 대부분의 예제는 더 정상적이고 깨끗한 표준 이었습니까? Name =, Handle =, Tweet =을 읽는 방법을 알아 내면됩니다.이상한 XML 파일 읽기

<?xml version="1.0" encoding="utf-8"?> 
<dtvTwitter> 
    <tweets> 
    <RcsTweet xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="NFL on ESPN" Handle="@ESPNNFL" Tweet="So @RGIII can pass, run and now he can BEAT BOX?? (MUST SEE VIDEO) --&gt; http://t.co/sexsrtskfZ" ImageUrl="http://a0.twimg.com/profile_images/3573179175/26a4fd77256691aedab2ecbc60c7b86c_normal.jpeg" /> 
    <RcsTweet xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="NFL Retweet" Handle="@NFLRT" Tweet="RT @NOTSportsCenter: BREAKING: There's a reason #Jets coach Rex Ryan keeps naming Mark Sanchez starter: he's blind. http://t.co/zEPKqfAV1o" ImageUrl="http://a0.twimg.com/profile_images/378800000203929393/ef2529f3f226d69c0731c7469f1c51ba_normal.jpeg" /> 
    <RcsTweet xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="ProFootballTalk" Handle="@ProFootballTalk" Tweet="Bernard Pollard says Justin Hunter can destroy a defense, be a star and help the Titans win a championship http://t.co/GPJcJXXqvg" ImageUrl="http://a0.twimg.com/profile_images/2390753568/qzhbfg9lgfrkmkrt4l4u_normal.jpeg" /> 
    </tweets> 
</dtvTwitter> 
+0

를 얻기 위해 내가했던 구글 ... 모든 것을 내가 "XML의 용어를"인터넷 검색으로 찾을 수 없습니다 – user1189352

+2

되어 붙여 어떤 형식 ...이다 : HTTP : //tools.arlut.utexas.edu/gash2/doc/xml/introtoxml.html –

답변

3
XmlNodeList elemList = doc.GetElementsByTagName("RcsTweet"); 
    for (int i = 0; i < elemList.Count; i++) 
    { 
     string name = elemList[i].Attributes["Name"].Value; 
     string handle = elemList[i].Attributes["Handle"].Value; 
     string tweet = elemList[i].Attributes["Tweet"].Value; 
    } 
+0

아 그래서 속성이라고 ... 내가 할 수 있다고 생각한다면 googled하고 그것을 알아 냈어 = T는 그것을하려고 브래지어 – user1189352

+1

감사합니다, 이것은 효과가 있었다. 나는 xml ..에 익숙하지 않다. 핸들의 내부가 애트리뷰트라는 것을 알고 있다면 쉽게 찾을 수 있었을 것이다. = T tyvm – user1189352

+0

그리고 '트위트 (Tweet)'속성이없는 코드를 발견하면 던져 버릴거야 ... 당신은 거의 항상 XML 직렬화를 사용하는 것이 나을지 모릅니다. – Yaur

2

내가 일반적으로 XML 직렬화를 사용하는 것을 선호하고 보자 내가 노력하고

doc = XDocument.Load("twitterTrio.xml");  
var temp = doc.Descendants("tweets").... 

XML을 읽고 : 어떤 도움

내가 지금까지 모두 감사는 이것이다 .Net 예기치 않은 사건을 처리하십시오.

public class dtvTwitter 
{ 
    public tweets tweets{get;set;} 
} 
public class tweets 
{ 
    [XmlElement("RcsTweet")] 
    public List<RcsTweet> RcsTweets { get; set; } 

} 
public class RcsTweet 
{ 
    [XmlAttribute] 
    public string Name { get; set; } 

    [XmlAttribute] 
    public string Tweet { get; set; } 

    [XmlAttribute] 
    public string Handle { get; set; } 
} 

다음 단지 :

 XmlSerializer ser = new XmlSerializer(typeof(dtvTwitter)); 
     StreamReader sr = new StreamReader("myfile.xml"); 
     dtvTwitter val = (dtvTwitter)ser.Deserialize(sr); 

가 역 직렬화 그래프를