Laden...

Profil von allgaeu73

myCSharp.de - Member Mitglied seit
A
allgaeu73
myCSharp.de - Member
6
Themen
17
Beiträge
Dabei seit
15.02.2016
Letzte Aktivität
vor 9 Jahren
Alter
52 Jahre
Erstellt vor 9 Jahren

Hallo,
ich durchlaufe ein Textfile und möchte beim Zutreffen eines Ausdruckes die Zeile auswerten.
Hier ein Ausschnitt des Textes:


    part "Z2004"
    part "Z2005"
    part "Z2006"
    part "ZZ186"
    part "J15",1
    part "J24",1
    part "J100",1
    part "J103",1
    part "J108",1

Ich möchte nur die jenigen Zeilen die nicht mit ",1" enden.
Das Ganze habe ich so versucht:


            	if(Regex.IsMatch(line_pdw,"(part)[\" \"][\"][a-zA-Z0-9]+[\"][^,]")){
                // do something
            	}


Der letzte Abschnitt, also [^,] wirkt irgendiwe nicht, keine Ahnung warum.
Kann mir jemand von euch weiter helfen?

Danke

Gruß
Andreas

Erstellt vor 9 Jahren

Hallo jetzt habe ich doch noch eine Frage...
ich durchlaufe die Knoten Items, der Inhalt dieser Knoten steck in FieldValues/fieldValue.
So durchlaufe ich die items:


             XmlDocument document = new XmlDocument();
             document.Load(outlinePfad + "\\BomOutput.xml");
             XmlNamespaceManager manager = new XmlNamespaceManager(document.NameTable);
             manager.AddNamespace("bom", "http://schemas.unicam.com/unicam/bom/bomtool");

             XmlNodeList nodes = document.SelectNodes("//bom:items/bom:item", manager);

             foreach (XmlNode node in nodes)
             {
                 MessageBox.Show(node.Attributes["bom:reference"].Value);
             }



Wie komme ich in der Schleife jetzt an die Values?

Erstellt vor 9 Jahren

hi inflames2k,
perfekt, das funzt ja schon.
Vielen Dank, da kann ich jetzt drauf aufbauen und vorallem verstehen 😃

Vielen Dank

Gruß
Andreas

Erstellt vor 9 Jahren

HI LaTino,
sorry, habe jetzt mal einen kleinen Ausschnitt extrahiert:


<?xml version="1.0" encoding="utf-8"?>
<bom:bomResults xmlns:bom="http://schemas.unicam.com/unicam/bom/bomtool">
  <bom:mergeOptions>  
    <bom:partNotInBom handling="replace" enabled="true">
      NOT_BOM
    </bom:partNotInBom>
  </bom:mergeOptions>
  <bom:rules />
  <bom:filteredItems />
  <bom:inputRows />
    <bom:items>
      <bom:item bom:inputRow="3" bom:reference="B2">
        <bom:fieldValues>
          <bom:fieldValue bom:value="B2" bom:field="1" />
          <bom:fieldValue bom:value="10884981" bom:field="2" />
          <bom:fieldValue bom:value="L731-1100A01" bom:field="3" />
          <bom:fieldValue bom:value="QFN-56/8x8" bom:field="4" />
          </bom:fieldValues>
      </bom:item>
    <bom:item bom:inputRow="4" bom:reference="N1">
      <bom:fieldValues><bom:fieldValue bom:value="N1" bom:field="1" />
        <bom:fieldValue bom:value="10302852" bom:field="2" />
        <bom:fieldValue bom:value="LAL0019" bom:field="3" />
        <bom:fieldValue bom:value="SC-70-6" bom:field="4" />
      </bom:fieldValues>
    </bom:item>
  </bom:items>
<bom:fields>
  <bom:field id="1" bom:name="Reference" bom:type="job"/>
  <bom:field id="2" bom:name="Part Number" bom:type="job"/>
  <bom:field id="3" bom:name="Comment" bom:type="job"/>
  <bom:field id="4" bom:name="Asm. shape" bom:type="job"/>
</bom:fields>
</bom:bomResults>

Gruß
Andreas

Erstellt vor 9 Jahren

verwendetes Datenbanksystem: XML
Hallo zusammen,
verushce mich das erste mal an XML und scheitere an der Struktur.
Normlaerweise ist die Struktur ja:

<Buch>
<Autor>
Meier
</Autor>
<Titel>
meinBuch
</Titel>
</Buch>

Das XML das ich lesen muss sieht so aus:

<?xml version="1.0" encoding="UTF-8"?>
-<bom:bomResults xmlns:bom="http://schemas.bla.com/bla/bom/bomtool">
-<bom:mergeOptions>
<bom:partNotInBom enabled="true" handling="replace">NOT_BOM</bom:partNotInBom>
</bom:mergeOptions>
<bom:rules/>
<bom:filteredItems/>
<bom:inputRows/>
-<bom:items>
-<bom:item bom:reference="V353" bom:inputRow="3">
-<bom:fieldValues>
<bom:fieldValue bom:field="1" bom:value="V353"/>
<bom:fieldValue bom:field="2" bom:value="101172350"/>
<bom:fieldValue bom:field="3" bom:value="DB015"/>
<bom:fieldValue bom:field="4" bom:value="SOT-23"/>
</bom:fieldValues>

Ich habe mal etwas rumprobiert, komme aber nicht wirklich weiter, bringe keine Daten raus.


			XmlDocument doc = new XmlDocument();
            doc.Load(outlinePfad + "\\BomOutput.xml");
    	    
            XmlNamespaceManager manager = new XmlNamespaceManager(doc.NameTable);
		    manager.AddNamespace("bom","http://schemas.bla.com/bla/bom/bomtool");

			query = "/bom:items/bom:item/bom:item/bom:fieldValues/bom:fieldValue";
			XmlNodeList nodes = doc.SelectNodes(query, manager);
         
			foreach (XmlNode node in nodes)
            {
				MessageBox.Show(node.FirstChild.Value.ToString());
            }

Könnt ihr mir hier weiter helfen?

Danke

gruß
Andreas

Erstellt vor 9 Jahren

@Abt: bin mit der Arraylist auch auf die Nase gefallen, habe jetzt eine typisierte List verwendet, läuft...
@Thomas:
Danke für den Hinweis, werde ich versuchen.

Gruß
Andreas

Erstellt vor 9 Jahren

Hallo zusammen,
hier meine Lösung, nicht schön aber geht 😃


					// Die CIRCLE Abschnitte mittels REGEX rausnehmen
				 	string test = Regex.Replace(fatf_package_data[package].ToString(),@"(CIRCLE)[(](\+|-)?\d+,(\+|-)?\d+,(\+|-)?\d+,(\+|-)?\d+\)","");
				    
				 	// Den Text TRACK raus nehmen
					test = Regex.Replace(test.ToString(),@"(TRACK)","");
					
				    MatchCollection koordinaten_paar;
				   
				    // Jetzt die X- und Y- Koordinaten mittel REGEX rausextrahieren				    
				    koordinaten_paar = Regex.Matches(test.ToString(),@"(\+|-)?\d+,(\+|-)?\d+");
				    ArrayList koordinaten_array = new ArrayList(koordinaten_paar);
				    
				    // x und y Array löschen
					x_array.Clear();
					y_array.Clear();
					
				    string[] koord_cols;

				    foreach (var inhalt in koordinaten_array)
				    {
				    	koord_cols = inhalt.ToString().Split(',');
						swOut.Write(koord_cols[0] + "/" + koord_cols[1] + "...");
				    	x_array.Add(koord_cols[0]);
				    	y_array.Add(koord_cols[1]);
				    }

Erstellt vor 9 Jahren

hab mir das Tutorial angeschaut....und Kopfweh bekommen.

Hätte jetzt mal angenommen splitte etwas das mit TRACK( anfängt du mit )) aufhört ... keine Ahnung

Werde mal rum probieren...

Erstellt vor 9 Jahren

da ich tatsächlich keinen Schimmer habe, wie ich da ran gehen soll nicht wirklich viel..

Erstellt vor 9 Jahren

Hallo zusammen,
ich habe strings die so aussehen:

TRACK(6(2657,4331)(-2657,4331)),TRACK(6(-2657,4331)(-2657,-4331)),CIRCLE(296,294,-1378,3150)))

Aus diesem String möchte ich die X Werte in ein Array und die Y Werte in ein Array bringen, und zwar nur dann wenn es sich um einen TRACK handelt.
Ich tippe mal, dass es mit einem Regex gehen wird, nur habe ich viel zu wenig Ahnung von Regex.
Kann mir jemand weiterhelfen.
Danke

Gruß
Andreas