Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Herstellung eines Telefonbuchs für die Fritz!Box

Frage Entwicklung Batch & Shell

Mitglied: Juergenl

Juergenl (Level 1) - Jetzt verbinden

29.06.2013 um 11:23 Uhr, 18712 Aufrufe, 18 Kommentare, 2 Danke

Hallo in die Runde,

ich hätte gerne Euren Rat bei folgender Aufgabenstellung:

Die AVM-Fritz!Box (mit heutigem OS) erwartet für den Import eines - überarbeiteten oder neu erstellten - 'Telefonbuches' eine Datei im Format 'XML'.

( - früher konnte man diese Aufgabe recht einfach mit Hilfe es "Fritz!Box-Monitors" lösen. Leider wird dieser von AVM nicht mehr unterstützt.)

Ich suche nun ein Tool, vielleicht sogar einen einschlägigen Editor, mit dessen Hilfe man diese für die Fritz!Box strukturierte XML-Datei aus einer vorliegenden Text-Datei (im weitesten Sinne ..) herstellen kann.

Gewisse einmalige Handarbeit, etwa die Erstellung des einheitlichen Datei-Headers, würde ich dabei gerne in Kauf nehmen.

Allerdings scheue ich die lästige, vor allem fehlerträchtige Erzeugung der XML-Strukturen für jeden einzelnen der unter Umständen zahlreichen Datensätze.

Möglicherweise hat jemand aus dieser Runde diese Aufgabe längst zufriedenstellen gelöst ?

Danke im Voraus für Eure Vorschläge!

Mit freundlichen Grüßen
Jürgen
Mitglied: rubberman
29.06.2013 um 11:59 Uhr
Hallo Jürgen,

das ist sicher kein unlösbares Problem. Ist dir bekannt wie der Aufbau einer solchen XML Datei auszusehen hat? Hast du evtl. ein Beispiel? Das würde in jedem Fall schon mal weiterhelfen einen solchen Code zu schreiben.
Weiterhin: Hast du dir Gedanken darüber gemacht in welcher Form die Daten in deiner Textdatei vorliegen werden? Das ist natürlich ebenso wichtig zu wissen, anderenfalls kann man kaum einen Algorithmus bauen um diese auszulesen.

Grüße
rubberman
Bitte warten ..
Mitglied: cyberjunkie
29.06.2013 um 14:03 Uhr
Hallo Jürgen,
die Boxen können auch mit den Google Kontakten arbeiten. Oder ist das nicht akzeptabel?
TXT zu CSV und in die Google Kontakte importieren. Google Kontakte in FritzBox einbinden.

Gruß
Bitte warten ..
Mitglied: Juergenl
29.06.2013 um 14:19 Uhr
Hallo rubberman,

natürlich kenne ich das von Fritz! erwartete Eingangs-Format des Telefonbuchs:

- dies geht ja aus der der XML-Datei - aus der Sicherung enes vorhandenen Fritz!-Telefonbuches - hervor,

Das Quell-Format meines Telefonbuches:-

- Anzahl der Datenfelder pro Datensatz, Art des Delimitors - kann ich selber bestimmen. ...

Eingangs- wie Ausgangs-Parameter sind also bekannt.

Lediglich die XML-"Schlüsselworte" samt deren Struktur sind mit konventionellen Mitteln schwierig herzustellen ..

Beste Grüße
Jürgen
Bitte warten ..
Mitglied: certifiedit.net
29.06.2013 um 14:44 Uhr
Warum sollten Sie mit konventionellen Mitteln schwer herzustellen sein?

Du definierst den Kopf, schreibst dann eine Schleife mit dem einlesen der Daten, solange noch ein Datensatz kommt pflegst du diesen entsprechend der Konvnetion ein und packst am Ende noch den Fuß rein, das schreibst du in die XML Datei, welche du importierst.

Grüße
Bitte warten ..
Mitglied: rubberman
29.06.2013 um 14:47 Uhr
Hallo Jürgen.

Zitat von Juergenl:
natürlich kenne ich das von Fritz! erwartete Eingangs-Format des Telefonbuchs
Schön. Ich kenne es nicht, somit kann ich nicht helfen. Wäre schon sinnvoll wenn du ein paar Informationen mehr geben könntest. Das war der eigentliche Sinn meiner Nachfrage.

Grüße
rubberman
Bitte warten ..
Mitglied: colinardo
29.06.2013, aktualisiert um 16:05 Uhr
Hallo Jürgen,
die Arbeit hat sich schon mal jemand gemacht und daraus ein Tool gestrickt:
http://software.nv-systems.net/ccw
Grüsse Uwe
Bitte warten ..
Mitglied: Juergenl
01.07.2013 um 08:32 Uhr
Hallo Freunde,

habt besten Dank für Eure diversen Lösungsansätze! ( - dazu muß ich nachträglich bekennen, daß ich leider keine praktische Programmiererfahrung - weder in 'C' noch in HTML - besitze. Auch diese Struktur der XML-Datei - als Export aus der Fritz!Box - ist mir jetzt erstmalig vor die Flinte gekommen: "Selber schreiben" wäre also leider nichts geworden ... )

Größten Erfolg verspricht das Tool zur Formatumwandlung, das colinardo empfohlen hat: Danke Uwe! Mit dessen praktischer Umsetzung gibt es noch ein paar kleinere Lücken. Die bekomme ich hoffentlich aber im direkten Kontakt mit dem Autor geschlossen.

Danke noch einmal und freundliche Grüße
Jürgen
Bitte warten ..
Mitglied: rubberman
01.07.2013 um 19:42 Uhr
Hallo Jürgen.

"Selber schreiben" wäre also leider nichts geworden ...
Mit entsprechend aussagekräftigem Input deinerseits hätte ich dir sicher ein Script (vermutlich <100 Zeilen Code) zusammen geschrieben. Da braucht es weder C und schon gar kein HTML. Ein simples VBScript bietet den nötigen XML Support.

Grüße
rubberman
Bitte warten ..
Mitglied: Juergenl
02.07.2013 um 08:08 Uhr
Halllo rubberman, - und Dank für Deine Mühe!

DAS liest sich in der Tat sehr interessant: In VB habe ich zwar auch keine Praxis, aber einen solchen Umfang würde ich mit meiner Script-Erfahrung aus einer anderen Branche sicher überschauen und beherrschen. Mich interessiert also sehr, wie man so eine Aufgabe damit angeht.

Ich habe soeben also - etwas mühsam - den ersten und den letzten Datensatz der XML-Datei 'Telefonbuch' in eine PDF-Datei übertragen. Wie kann ich Dir diese am besten übermitteln ? ( ... es ist sicher nicht so glücklich, den Ausschnitt hierhin zu kopieren. Leider habe ich auch vergessen, ob unnd ggf. wie man hier ein Datei-Attach anlegt.)

Ich würde mich also freuen, wenn Du Dich noch einmal meldest.

Beste Grüße
Jürgen
Bitte warten ..
Mitglied: rubberman
02.07.2013 um 09:31 Uhr
Hallo Jürgen,

bin auf Arbeit und werde erst heute Abend dazu kommen.
Kopiere die entsprechenden Passagen zwischen <code> </code> Tags, dann behalten sie ihre Formatierung und du brauchst kein PDF.
Vergiss nicht das gleiche mit deiner Text-/CSV Datei zu tun, die als Eingangsformat benötigt wird, bzw lege zumindest die Datenfelder fest, die von dir benötigt werden.

Grüße
rubberman
Bitte warten ..
Mitglied: colinardo
02.07.2013, aktualisiert um 21:47 Uhr
Hallo Jürgen,
hab da was für dich.
Wenn deine CSV-Datei mit den Kontakten wie folgt aufgebaut ist:
CSV-Datei
realName;home;work;mobile;fax_work; 
Herbert Mustermann;099929929;024334554345;0151993885;02235235; 
Sepp Meier;0558452;;;; 
Sabine Mustermann;1235465;11111;44444;;
kannst du mit diesem VBS eine Fritzbox kompatible XML-Datei erstellen, die du dann importieren kannst:
(In Zeile 1 und 2 noch die Pfade zu den Dateien angeben)
VBS-Code
01.
CSVFILE = "C:\input.csv" 
02.
XMLPATH = "C:\phonebook.xml" 
03.
strXMLStart = "<?xml version=""1.0"" encoding=""iso-8859-1""?><phonebooks><phonebook>" 
04.
strXMLEnd = "</phonebook></phonebooks>" 
05.
Const ForReading = 1 
06.
Const ForWriting = 2 
07.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
08.
 
09.
uniqueID = 0 
10.
allContacts = "" 
11.
Set objCSV = objFSO.OpenTextFile(CSVFILE, ForReading) 
12.
header = objCSV.ReadLine 
13.
Do Until objCSV.AtEndOfStream 
14.
    strNextLine = objCSV.Readline 
15.
    If strNextLine <> "" Then 
16.
    	arrMapping = Split(strNextLine , ";") 
17.
  		realName = Trim(arrMapping(0)) 
18.
  		home = Trim(arrMapping(1)) 
19.
  		work = Trim(arrMapping(2)) 
20.
  		mobile = Trim(arrMapping(3)) 
21.
  		fax_work = Trim(arrMapping(4)) 
22.
  		contactItemNumbers = "" 
23.
  		numberCounter = 0 
24.
  		If home <> "" Then 
25.
  			contactItemNumbers = "<number type=""home"" prio=""0"" id=""" & numberCounter & """>" & home & "</number>" 
26.
  			numberCounter = numberCounter + 1 
27.
  		End If 
28.
  		If work <> "" Then 
29.
  			contactItemNumbers = contactItemNumbers & "<number type=""work"" prio=""0"" id=""" & numberCounter & """>" & work & "</number>" 
30.
  			numberCounter = numberCounter + 1 
31.
  		End If 
32.
  		If mobile <> "" Then 
33.
  			contactItemNumbers = contactItemNumbers & "<number type=""mobile"" prio=""0"" id=""" & numberCounter & """>" & mobile & "</number>" 
34.
  			numberCounter = numberCounter + 1 
35.
  		End If 
36.
  		If fax_work <> "" Then 
37.
  			contactItemNumbers = contactItemNumbers & "<number type=""fax_work"" prio=""0"" id=""" & numberCounter & """>" & fax_work & "</number>" 
38.
  			numberCounter = numberCounter + 1 
39.
  		End If 
40.
  		ticks = DateDiff("s","1/1/1970 12:00:00 AM",Now) 
41.
  		contactItemPart1 = "<contact><category>0</category><person><realName>" & realName & "</realName></person><telephony nid=""" & numberCounter & """>" 
42.
  		contactItemPart2 = contactItemNumbers 
43.
  		contactItemPart3 = "</telephony><services /><setup /><mod_time>" & ticks & "</mod_time><uniqueid>" & uniqueID & "</uniqueid></contact>" 
44.
  		allContacts = allContacts & contactItemPart1 & contactItemPart2 & contactItemPart3 
45.
  		uniqueID = uniqueID + 1  
46.
    End if 
47.
Loop 
48.
objCSV.Close 
49.
Set objXMLFile = objFSO.OpenTextFile(XMLPATH,ForWriting, True) 
50.
objXMLFile.Write strXMLStart & allContacts & strXMLEnd 
51.
objXMLFile.Close 
52.
WScript.Echo "Fertig"
Grüße Uwe
Bitte warten ..
Mitglied: Juergenl
02.07.2013 um 11:13 Uhr
Hallo rubberman und Uwe,

danke für Eure umgehende Reaktion: DAS könnte ja wirklich etwas werden! Ich will zu meiner bisherigen Daten-Quelle "Telefonbuch" noch folgendes anmerken.

Für den Gebrauch mit dem Fritz!Box-Monitor hatte ich mir ein "gestriptes" Telefonbuch in Form einer Textdatei (mit der Extension .adr) ausgeben lassen, die lediglich die für diesen Zweck notwendigen vier Datenfelder "Vor & Zuname"; "Telefon" (home oder work); "VIP"; "Kurzwahl-Nummer" enthält. Der Fritz!Box-Monitor akzeptierte als Delimitor das Semikolon.

Ebenso kann ich natürlich eine CSV-Datei generieren, - diese mit beliebigem Delimiter ausstatten.

Ich war und bin mir aber nicht sicher, ob man mit Hilfe des Headers und dortiger korrekter Verwendung der offiziellen Schlüsselworte eine ebenso vereinfachte (d.h. vierfeldrige) CSV-Datei bilden kann ? Oder muß man dafür jenes "21-feldrige Datei-Monstrum" mit siebzehn Leer-Feldern definieren ?

Iin diesem Zusammenhang wüßte ich gerne auch, wo ich die korrekten Schlüsselworte für meine Felder nachgucken kann: Ich habe irgendwo die Ausdrücke "VIP" bzw. "SpeedDial" gelesen, weiß aber nicht ob sie korrekt sind.

Rubberman, ich will gleich auf Deine Anmerkung zurückkommen: Ich habe zur Zeit keinen "richtigen" Editor zur Verfügung, daher bin ich genötigt, die Beispieldatei in den "Standard XML-Editor" zu laden. Daraus habe ich die beiden Sätze nach WordPerfect herüberkopiert, dort dann wieder strukturiert und als PDF ausgegeben. Das ist für mich das einfachste Exportverfahren.

Würdet Ihr mir bitte noch verraten, wie man hier im Forum ggf. Quelltext veröffentlicht ? ( - ich hab' leider so mancherlei Forums-Handwerkszeug wieder vergessen.)

Ich freue mich, wieder von Euch zu hören!

Beste Grüße
Jürgen
Bitte warten ..
Mitglied: colinardo
02.07.2013, aktualisiert um 11:36 Uhr
Zitat von Juergenl:
Ebenso kann ich natürlich eine CSV-Datei generieren, - diese mit beliebigem Delimiter ausstatten.
mach das in obiges Format
Ich war und bin mir aber nicht sicher, ob man mit Hilfe des Headers und dortiger korrekter Verwendung der offiziellen
Schlüsselworte eine ebenso vereinfachte (d.h. vierfeldrige) CSV-Datei bilden kann ? Oder muß man dafür jenes
"21-feldrige Datei-Monstrum" mit siebzehn Leer-Feldern definieren ?

Iin diesem Zusammenhang wüßte ich gerne auch, wo ich die korrekten Schlüsselworte für meine Felder nachgucken
kann: Ich habe irgendwo die Ausdrücke "VIP" bzw. "SpeedDial" gelesen, weiß aber nicht ob sie
korrekt sind.
Du nimmst deine vorhandene CSV öffnest sie z.B. in Excel und passt sie dem obigen Format an d.h. überflüssige Spalten löschen und in obige Reihenfolge bringen und wieder in eine CSV speichern, was ist daran so schwer ?
Der SpeedDial-Eintrag ist in obigem Script noch nicht mit drin lässt sich aber leicht ergänzen.
Würdet Ihr mir bitte noch verraten, wie man hier im Forum ggf. Quelltext veröffentlicht ? ( - ich hab' leider so
mancherlei Forums-Handwerkszeug wieder vergessen.)
Programm-Code kannst du mit Code-Tags hier im Beitrag posten.

Grüße Uwe
gelöste Beitrage bitte auch als solche markieren.Danke
Bitte warten ..
Mitglied: rubberman
02.07.2013, aktualisiert um 21:13 Uhr
Hallo ihr beiden.

@Juergenl
Datenfelder "Vor & Zuname"; "Telefon" (home oder work); "VIP"; "Kurzwahl-Nummer"
Hmm, und wo steht nun die eigentliche Telefonnummer? Feld 2 gibt ja (so wie ich es verstehe) lediglich den Typ an.
Ich werde unten mal auf 5 Datenfelder erweitern.

Ich habe zur Zeit keinen "richtigen" Editor zur Verfügung
Für Text (und nichts anderes ist XML) gibt es auf jeder Windows Kiste den Notepad Editor. Ich hätte es weder in Farbe und bunt benötigt, noch mit irgendwelchen Einrückungen der Knoten. Auf den Inhalt kommt es an.
Aber vergiss es einfach. Dank colinardo und einer kurzen Googlesuche ist mir der Aufbau nun auch klar (sonst dauert das hier noch Tage ...).

@colinardo
Wenn ich oben von "XML Support" gesprochen habe, dachte ich eigentlich an das XML DOM. Per Stringverknüpfung geht's natürlich auch
Beim Testen deines Codes bin ich aber gleich in eine Falle getappt. Die XML Datei existierte bei mir noch nicht, darum musste ich Zeile 49 ändern.
Set objXMLFile = objFSO.OpenTextFile(XMLPATH,ForWriting,True)
Wie auch immer, mein Lösungsvorschlag.
CSV Datei mit 5 Datenfeldern. Name;Typ;Telefonnummer;VIP;Kurzwahl;

test.csv
01.
Lieschen Müller;mobile;0172333444555;1;5; 
02.
Klaus Bärbel;home;02345654321;;6; 
03.
Fa. GWS Röhrig;work;02345110112;;;
*.vbs
01.
Option Explicit 
02.
 
03.
' Dateinamen 
04.
Const sCSV_in = "test.csv" 
05.
Const sXML_out = "test.xml" 
06.
 
07.
' Variablendeklarationen 
08.
Dim oXmlDoc, oPhonebookNode, oContactNode, oCategoryNode, oPersonNode, _ 
09.
  oTelephonyNode, oServicesNode, oSetupNode, oModtimeNode, oUniqueIDNode, _ 
10.
  oRealNameNode, oNumberNode, oRingToneNode, oXsltDoc 
11.
Dim oFSO, oFile, i, aLine, sLine, sName, sType, sNumber, sCategory, sQuickdial 
12.
 
13.
Set oFSO = CreateObject("Scripting.FileSystemObject") 
14.
Set oFile = oFSO.OpenTextFile(sCSV_in) 'CSV Filestream 
15.
CreateObject("WScript.Shell").CurrentDirectory = oFSO.GetParentFolderName(WScript.ScriptFullName) 'Arebeitsverzeichnis = Scriptverzeichnis 
16.
 
17.
Set oXmlDoc = CreateObject("Msxml2.DOMDocument.6.0") 'XML Dokument erzeugen 
18.
oXmlDoc.async = False 
19.
oXmlDoc.loadXML "<?xml version=""1.0"" encoding=""windows-1252""?><phonebooks />" 'XML Deklaration und Rootelement 
20.
Set oPhonebookNode = oXmlDoc.createNode(1, "phonebook", "") 'phonebook Element hinzu 
21.
oXmlDoc.documentElement.appendChild oPhonebookNode 
22.
 
23.
i = 0 'wird bei jedem Schleifendurchlauf inkrementiert und für "uniqueid" eingesetzt 
24.
 
25.
While Not oFile.AtEndOfStream 'solange das Dateiende nicht erreicht ist 
26.
  i = i + 1 'i inkrementieren 
27.
  sLine = oFile.ReadLine '(nächste) Zeile lesen 
28.
  If sLine <> "" Then 
29.
    aLine = Split(sLine, ";") 'an den Semikola in ein Array splitten 
30.
    If UBound(aLine) <> 5 Then 
31.
      WScript.Echo "Zeile """ & sLine & """ hat die falsche Anzahl Elemente" 
32.
    Else 
33.
      sName = Trim(aLine(0)) 'Name 
34.
      sType = Trim(aLine(1)) 'Typ (home, work, mobile) 
35.
      sNumber = Trim(aLine(2)) 'Telefonnummer 
36.
      sCategory = Trim(aLine(3)) 'VIP 
37.
      sQuickdial = Trim(aLine(4)) 'Kurzwahl 
38.
      'Einzelne Knoten und Kindknoten für jeden Kontakt erstellen 
39.
      Set oContactNode = oXmlDoc.createNode(1, "contact", "") 
40.
      oPhonebookNode.appendChild oContactNode 
41.
      Set oCategoryNode = oXmlDoc.createNode(1, "category", "") 
42.
      oContactNode.appendChild oCategoryNode 
43.
      Set oPersonNode = oXmlDoc.createNode(1, "person", "") 
44.
      oContactNode.appendChild oPersonNode 
45.
      Set oTelephonyNode = oXmlDoc.createNode(1, "telephony", "") 
46.
      oTelephonyNode.setAttribute "nid", "1" 
47.
      oContactNode.appendChild oTelephonyNode 
48.
      Set oServicesNode = oXmlDoc.createNode(1, "services", "") 
49.
      oContactNode.appendChild oServicesNode 
50.
      Set oSetupNode = oXmlDoc.createNode(1, "setup", "") 
51.
      oContactNode.appendChild oSetupNode 
52.
      Set oModtimeNode = oXmlDoc.createNode(1, "mod_time", "") 
53.
      oContactNode.appendChild oModtimeNode 
54.
      Set oUniqueIDNode = oXmlDoc.createNode(1, "uniqueid", "") 
55.
      oContactNode.appendChild oUniqueIDNode 
56.
      Set oRingToneNode = oXmlDoc.createNode(1, "ringTone", "") 
57.
      oSetupNode.appendChild oRingToneNode 
58.
      oModTimeNode.text = CStr(DateDiff("s", DateSerial(1970, 1, 1) + TimeSerial(12, 0, 0), Now)) 'UNC Timestamp 
59.
      oUniqueIDNode.text = CStr(i) 
60.
      Set oRealNameNode = oXmlDoc.createNode(1, "realName", "") 
61.
      oPersonNode.appendChild oRealNameNode 
62.
      oPersonNode.text = sName 
63.
      Set oNumberNode = oXmlDoc.createNode(1, "number", "") 
64.
      oTelephonyNode.appendChild oNumberNode 
65.
      oNumberNode.setAttribute "type", sType 
66.
      oNumberNode.setAttribute "id", "0" 
67.
      If sQuickdial = "" Then 
68.
        oNumberNode.setAttribute "vanity", "" 
69.
      Else 
70.
        oNumberNode.setAttribute "quickdial", sQuickdial 
71.
      End If 
72.
      oNumberNode.setAttribute "prio", "1" 
73.
      oNumberNode.text = sNumber 
74.
      If sCategory <> "" Then oCategoryNode.text = "1" 
75.
    End If 
76.
  End If 
77.
Wend 
78.
 
79.
oFile.Close 'CSV Dateistream schließen 
80.
 
81.
' Stylesheet: XML Dokument mit Zeileneinrückung (damit es lesbar wird) und der korrekten Zeichencodierung versehen 
82.
Set oXsltDoc = CreateObject("Msxml2.DOMDocument.6.0") 
83.
oXsltDoc.async = False 
84.
oXsltDoc.loadXML( _ 
85.
  "<?xml version=""1.0"" encoding=""windows-1252""?>" & vbNewLine & _ 
86.
  "<xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"">" & vbNewLine & _ 
87.
  "	<xsl:output method=""xml"" version=""1.0"" encoding=""iso-8859-1"" indent=""yes"" />" & vbNewLine & _ 
88.
  "	<xsl:template match=""node()|@*"">" & vbNewLine & _ 
89.
  "		<xsl:copy>" & vbNewLine & _ 
90.
  "			<xsl:apply-templates select=""node()|@*"" />" & vbNewLine & _ 
91.
  "		</xsl:copy>" & vbNewLine & _ 
92.
  "	</xsl:template>" & vbNewLine & _ 
93.
  "</xsl:stylesheet>") 
94.
oXmlDoc.transformNodeToObject oXsltDoc, oXmlDoc 
95.
 
96.
oXmlDoc.save(sXML_out) 'XML Dokument speichern
Grüße
rubberman
Bitte warten ..
Mitglied: colinardo
02.07.2013 um 21:46 Uhr
Danke rubberman für die zweite Variante mit XML.Dom . Hatte zuerst überlegt ob ich Juergen die komplexere Variante mit XML-Dom zumuten kann, mich aber dann für die simple String-Methode entschieden. Naja jetzt ist Juergen auf jeden Fall versorgt

G. Uwe
Bitte warten ..
Mitglied: Juergenl
04.07.2013 um 09:25 Uhr
Hallo Freunde,

ich bedanke mich herzlich für die große Menge an Stoff ... die muß ich hier nun erst einmal verarbeiten. ( - voraussichtlich werde ich wohl doch versuchen müssen, mir örtliche Unterstützung heranzuwinken, um zahlreiche (!) Rückfragen schneller zu klären. Das füllt m.E. im Forum einfach zu viel Platz.) Zum "Hauptthema" (vbs) werde ich mich also eine Weile zurückziehen.

@rubberman, Du hast mich einer Deiner Rückfrage zu 'home' etwas verunsichert: Ich habe an der einen oder anderen Stelle nämlich gesehen, daß 'home' auch als Begriff (oder Datenfeld) für die "häusliche Telefonnummer" verwendet wurde ( - zwar auch für deren Typisierung -) oder habe ich da etwas mißverstanden? - Wäre 'phone' an der Stelle korrekt ?

Ich knüpfe hieran also noch einmal diese Bitte: Ich würde gerne einmal eine vollständige - verbindliche - Liste dieser Schlüsselwörter einsehen, damit ich wenigsten dabei keine vermeidbaren Fehler mache. ( - sind englische und deutsche Schlüsselwörter eigentlich austauschbar ?)

Danke im Voraus und beste Grüße
Jürgen
Bitte warten ..
Mitglied: rubberman
04.07.2013 um 21:41 Uhr
Hallo Jürgen.

Du hast mich einer Deiner Rückfrage zu 'home' etwas verunsichert: Ich habe an der einen oder anderen Stelle nämlich gesehen, daß 'home' auch als Begriff (oder Datenfeld) für die "häusliche Telefonnummer" verwendet wurde ( - zwar auch für deren Typisierung -) oder habe ich da etwas mißverstanden? - Wäre 'phone' an der Stelle korrekt ?
home ist eine Typisierung, ebenso wie work und mobile. Darum hat mich deine Auflistung der Datenfelder verunsichert. phone gibt es nicht. Ein konstruiertes Beispiel, so wie von Uwe und mir zum Testen der Codes, hätte Klarheit gebracht. Nun bin ich immer noch so schlau wie vorher, da ich immer noch nicht weiß wie die Daten bei dir vorliegen. Unser Output kann nicht besser sein als dein Input!

Ich würde gerne einmal eine vollständige - verbindliche - Liste dieser Schlüsselwörter einsehen, damit ich wenigsten dabei keine vermeidbaren Fehler mache.
www.wehavemorefun.de/fritzbox/XML-Adressbuch
Ob das den Anspruch auf Vollständigkeit erhebt, kann ich nicht beurteilen.

sind englische und deutsche Schlüsselwörter eigentlich austauschbar ?
Nicht in der XML Datei selbst. Ansonsten sieh dir die Beschreibungen aus dem Link an, damit sollte die Bedeutung klar sein.

Grüße
rubberman
Bitte warten ..
Mitglied: Juergenl
05.07.2013 um 07:12 Uhr
Hallo rubbermann,

" ... Nun bin ich immer noch so schlau wie vorher, da ich immer noch nicht weiß wie die Daten bei dir vorliegen."

Das tun sie in Form von DATENSÄTZEN mit je vier FELDERN,
(ein Auszug aus meiner - umfangreicheren - Gesamt-Telefondatei, die hier schon vor Fritz!-Zeiten bestand.)

1.) "Familinenname_Komma_Vorname",
2.) "(Lang)-Wahlstring" - welches die Fritz!Box hinausschickt ... s.u. !
3.) "Kurzwahlstring" - in Form von zwei Ziffern, ggf. mit führender Null,
4.) "wichtiger Teilnehmer" - kennzeichnet, ob ein anrufender Teilnehmer die 'Anrufsperre' unterlaufen darf - wie auch immer die Fritz!Box dieses eine Bit vorhält, - als '0' bzw. '1')

'(Lang)-Wahlstring ist in meiner Datenbank übrigens ein 'virtuelles Feld', mit dessen Hilfe aus kompletten, "kanonisch notierten" Telefon-Nummern nicht benötigte Vorwahlstrings ('0049' oder '0201' für Essen) unterdrückt werden.

Ich verkneife mir also die Fritz!-typische Unterscheidung 'work', 'home', 'mobil' .. - nehme dafür in Kauf, daß Telefonpartner mit privatem UND dienstlichem Anschluß UND Handy ggf. als mehrere Teilnehmer geführt werden.

Jedes Kurzwahlstring ist seit jeher dem Wahlstring (nach gewissen Merkregeln) fest zugeordnet. Doppel-Vergabe verhindere ich mit Hilfe eines Index-Verfahrens.

Mein Telefonbuch für die Fritz!Box umfaßt zur Zeit etwa 50 solcher Sätze.

Soweit habe ich jetzt hoffentlich begriffliche Klarheit hergestellt.

Beste Grüße
Jürgen
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
TK-Netze & Geräte
Panasonic KX-TG6811 an Fritz Box 7490 (21)

Frage von bytetix zum Thema TK-Netze & Geräte ...

Router & Routing
Cisco langsam hinter Fritz!box (5)

Frage von PharIT zum Thema Router & Routing ...

LAN, WAN, Wireless
Langsame Verbindung zu FRITZ!Box (1)

Frage von eQuest zum Thema LAN, WAN, Wireless ...

Router & Routing
gelöst Fritz!Box 6490 Cable hängt in Dauerreboot Schleife (5)

Frage von ketanest112 zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...