Welcher Script ist das?

Hy,
kann mir jemand sagen, was für ein Script das ist und wo ich ihn einbinden kann, damit er auch seinen Zweck erfüllt?
Ich habe ihn von hier [ http://www.codeproject.com/Articles/29670/Converting-HL-to-XML](‚http:// http://www.codeproject.com/Articles/29670/Converting-HL-to-XML‘) als free-script kopiert aber finde nirgends auf der Seite einen Hinweis darauf, womit ich ihn ausführe.

Der Script soll eine HL7-Datei in eine XML-Datei konvertieren.

[CODE]/// This class takes an HL7 message
/// and transforms it into an XML representation.
public static class HL7ToXmlConverter
{
// This is the XML document we’ll be creating
private static XmlDocument _xmlDoc;

/// <span class="code-SummaryComment"><summary></span>
/// Converts an HL7 message into an XML representation of the same message.
/// <span class="code-SummaryComment"></summary></span>
/// <span class="code-SummaryComment"><param name="sHL7">The HL7 to convert</param></span>
/// <span class="code-SummaryComment"><returns></returns></span>
public static string ConvertToXml(string sHL7)
{
    // Go and create the base XML
    _xmlDoc = CreateXmlDoc();

    // HL7 message segments are terminated by carriage returns,
    // so to get an array of the message segments, split on carriage return
    string[] sHL7Lines = sHL7.Split('\r');

    // Now we want to replace any other unprintable control
    // characters with whitespace otherwise they'll break the XML
    for (int i = 0; i < sHL7Lines.Length; i++)
    {
        sHL7Lines[i] = Regex.Replace(sHL7Lines[i], @"[^ -~]", "");
    }

    /// Go through each segment in the message
    /// and first get the fields, separated by pipe (|),
    /// then for each of those, get the field components,
    /// separated by carat (^), and check for
    /// repetition (~) and also check each component
    /// for subcomponents, and repetition within them too.
    for (int i = 0; i < sHL7Lines.Length; i++)
    {
        // Don't care about empty lines
        if (sHL7Lines[i] != string.Empty)
        {
            // Get the line and get the line's segments
            string sHL7Line = sHL7Lines[i];
            string[] sFields = HL7ToXmlConverter.GetMessgeFields(sHL7Line);

            // Create a new element in the XML for the line
            XmlElement el = _xmlDoc.CreateElement(sFields[0]);
            _xmlDoc.DocumentElement.AppendChild(el);

            // For each field in the line of HL7
            for (int a = 0; a < sFields.Length; a++)
            {
                // Create a new element
                XmlElement fieldEl = _xmlDoc.CreateElement(sFields[0] +
                                     "." + a.ToString());

                /// Part of the HL7 specification is that part
                /// of the message header defines which characters
                /// are going to be used to delimit the message
                /// and since we want to capture the field that
                /// contains those characters we need
                /// to just capture them and stick them in an element.
                if (sFields[a] != @"^~\&")
                {

}[/CODE]

Der Code ist aufgrund der Zeichenbegrenzung hier nicht vollständig- nicht wundern!

Das sieht nach PHP aus…
Wie und wo du das einbinden musst kann dir vermutlich keiner sagen wir kennen ja deine Scripts nicht.

OooK…

Was meinst du genau damit, dass ihr meine Scripts nicht kennt?
Ich benötige im Hintergrund meiner Web-Seite einen Dienst, der mir eine HL7-Datei in eine XML-Datei konvertiert…! Diese XML-Datei kann von meiner SQL-Datenbank gelesen werden und diese wird wiederum in meiner Web-Seite implementiert…

also eigentlich ist die Web-Seite irrelevant für mein Problem ^^ …

Das sieht nach PHP aus…

In PHP musst du den Datentyp für eine Variable nicht deklarieren und eine Variable fängt mit „$“. Also fakto kein PHP.

Für mich sieht es stark nach C# aus. :wink:

:oops:…

Ja an C# hab ich auch gedacht, konnte aber dennoch damit nichts anfangen…

Ja an C# hab ich auch gedacht, konnte aber dennoch damit nichts anfangen…

Wenn du nichts mit diesem Snippet anfangen kannst, dann lass einfach die Finger davon. Ansonsten was hälst du davon das Snippet einfach mal auszuprobieren?

Naja also ich bin fest davon überzeugt, dass sich meiner Frage (wenn auch indirekt) entnehmen lässt, dass ich mich mit diesem Script nicht auskenne und ihn aber offensichtlich für die Lösung meines Problems halte!!
Ergo bin ich schon daran interessiert künftig etwas damit anzufangen → ich weiß aber nicht, wie ich das „das Snippet“ einfach mal ausprobiere!

Ich kenne html und css , arbeite mit php stellenweise und das wars! Deswegen darf man doch aber trotzdem bei der Suche nach Lösungen mal über den Tellerrand blicken und Scripte versuchen zu verstehen, die einem vielleicht noch nicht geläufig sind?!?!?!

Wie ich immer solche Aussagen liebe " wenn dus nicht kannst - lass es lieber sein" ! Gab Gott dir deine Programmierfähigkeiten oder wie haste dir das angeeignet?

Naja also ich bin fest davon überzeugt, dass sich meiner Frage (wenn auch indirekt) entnehmen lässt, dass ich mich mit diesem Script nicht auskenne und ihn aber offensichtlich für die Lösung meines Problems halte!!
Ergo bin ich schon daran interessiert künftig etwas damit anzufangen → ich weiß aber nicht, wie ich das „das Snippet“ einfach mal ausprobiere!

Fangen wir von vorne an. Du hälst das Snippet für die Lösung deines Problems, was du aber wie gesagt erst feststellen kannst wenn du es ausprobiert hast. Du weißt nicht wie du das Snippet ausprobierst? Wir haben eben festgestellt das es vielleicht C# ist, d.h. soviel wie du brauchst einen C# - Compiler und Interpreter. Die Google-Suche wird dir in der Hinsicht weiterhelfen, auch was das erlernen dieser Programmiersprache angeht.

Ich kenne html und css , arbeite mit php stellenweise und das wars! Deswegen darf man doch aber trotzdem bei der Suche nach Lösungen mal über den Tellerrand blicken und Scripte versuchen zu verstehen, die einem vielleicht noch nicht geläufig sind?!?!?!

Natürlich da bin ich ganz deiner Meinung, aber es gibt viele die darunter Copy & Paste verstehen.

Mit C# hast du in diesem Forum aber nichts zu suchen.
Es gibt zwar ein entsprechendes Unterforum, aber ich bezweifle ehrlich gesagt dass dir dort jetzt jemand die Basics erklärt.
Vermutlich benötigst du einen Compiler:
http://www.mono-project.com/docs/about-mono/languages/csharp/

Aber nur mit der Klasse wirst du noch nichts anstellen können. Du bräuchtest zumindest eine in C# geschriebene Testanwendung, um die Klasse auszuführen.

Bist du jedoch schon auf die Idee gekommen, einen Parser in geeigneter Sprache zu suchen?

http://stackoverflow.com/questions/9104377/hl7-parser-writer-for-php

Ich habe html und css mit einer entsprechenden Fachliteratur soweit erlernt, dass ich damit arbeiten und umgehen kann.
Ich finde es schade, wenn man hier eine Fachfrage stellt und dann „dumme“ Antworten bekommt, nur weil irgendwelche User copy-paste Lösungen suchen!
Wissen ist Macht - nicht wissen macht nichts! Erst Fragen, dann urteilen!

Ansonsten danke für die Antwort. Die hilft mir schon mehr weiter !
Ich weiß ja, was der Script angeblich tun soll…nämlich laut autor : eine HL7-Datei in eine XML-Datei zu konvertieren.
Nur, wie schon gesagt, habe ich KEINE Programmierkenntnisse die über den im Editor geschriebenen „Shut-down“ befehl von Windows hinausgehen ^^ (ausgenommen html, css, php etc) !

Ich WEIß, dass dies ein html-Forum ist! Aber ich programmiere ja auch eine Web-Seite! Nur um die Funktion der Web-Seite zu ermöglichen, muss ich diesen Lösungsweg einschlagen und diesen Converter nutzen. Die hier gebrachten Antworten sind doch hilfreich, was mich in meiner Annahme, hier Antworten zu erhalten bestärkt und den Thread hier legitimiert :wink:
(blabla-ende)

Ich suche übrigens keinen parser-writer FÜR meine Web-Seite, denn das soll als Programm im Hintergrund ablaufen. Also am liebsten einen Script in eine batch-file wandeln und diesen bei bedarf ausführen!

Mit Google sind HL7 → XML Converter in C#, VB und Java zu finden. Sowie diverse fertige Tools, die aber alle ziemlich teuer sind.
Du kannst also

  • eins dieser Scripts compilieren und irgendwie einbinden.
  • dein Beispielscript in PHP übersetzen
  • deine HL7 Datenquellen aktualisieren, die neueren Versionen benutzen bereits XML