Autor Beitrag
Marcel#
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Di 28.02.12 10:03 
Hi,

Ich habe eine Xml Datei, die ist leider vorgegeben, ich brauch die   <macro name="EX2c"/> aus der Datei aber ohne das <macro name= und das /> ich hab es auch schon mit substr probiert aber das geht ja auch nicht weil es ein riesen string ist.
Wie krieg ich nur den String ohne die xml tags? Danke im Voraus

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
 XmlNode elem = doc.DocumentElement.FirstChild;
                elem = doc.DocumentElement.ChildNodes[2];
     
                string[] meineStrings = elem.OuterXml.Split(new Char[] { '<' });
                for (int i = 0; i < meineStrings.Count() ; i++)
                {
                
                    richTextBox2.AppendText(meineStrings[i]);
                }



ausblenden volle Höhe XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
<menu name="PGTEXT">
    
    <macro name="BG-Fall"/>
    <macro name="DMP-Diabetes mellitus"/>
    <macro name="Impfung"/>
    
    
    <macro name="GEK-Hausarztmodel"/>
    <macro name="KHK-DMP"/>
    <macro name="DMP-Brust"/>
    <macro name="HZV"/>
    <macro name="DMP-KHK"/>
    <macro name="DMP-Asthma"/>
  </menu><menu name="HMV_INDSCHL">
    <macro name="EN2"/>
    <macro name="EN2A1"/>
    <macro name="EX1a"/>
    <macro name="EX2c"/>
    <macro name="SP2"/>
    <macro name="WS1c"/>
    <macro name="WS2a"/>
    <macro name="WS2b"/>
    <macro name="WS2c"/>
    <macro name="WS2e"/>
    <macro name="WS2f"/>
    <macro name="ZNS"/>
    <macro name="WS1b"/>
    <macro name="EX2b"/>
    <macro name="Ex2c"/>
    <macro name="LY2a"/>
    <macro name="SP1"/>
    <macro name="Sp 5"/>
    <macro name="WS1a"/>
    <macro name="WS1d"/>
    <macro name="ZN2a"/>
    <macro name="ZN2b"/>
    <macro name="Ly3a"/>
    <macro name="WS2g"/>
    <macro name="DFc Podolog. Komplexbehandlung nur 3x"/></menu>

  <menu name="RP_VH">
    <macro name="0-0-1"/>
    <macro name="0-1-0"/>
    <macro name="1-0-0"/>
    <macro name="1-0-1"/>
    <macro name="1-1-0"/>
    <macro name="1-1-1"/>
  </menu><menu name="EL_BEGRUENDUNG">
    <macro name="Kompletter Ober- und Unterbauchstatus"/>
  </menu><menu name="ANREDE">
    <macro name="Frau"/>
    <macro name="Frl."/>
    <macro name="Herr"/>
  </menu>



edit: mit """ als trennzeichen klappts wunderbar :) aber würd mich trotzdem interessieren wie ich das schreiben würde damit es mit dem "<" geht
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 29.02.12 10:45 
Hallo Marcel,

du verwendest doch schon die XmlDocument-Klasse - dann brauchst du doch nicht mit String-Operationen hantieren.
Was du suchst nennt sich in XML "Attribute", d.h.
ausblenden C#-Quelltext
1:
2:
3:
string name = elem.Attributes[0].Value;
// oder
string name = elem.Attributes.GetNamedItem("name").Value;

Am besten jedoch noch abfragen, ob der Rückgabewert der Eigenschaft bzw. der Methode ungleich null ist, bevor du auf Value zugreifst.