Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst Powershell und XML

Mitglied: Cougar77

Cougar77 (Level 1) - Jetzt verbinden

10.06.2016 um 12:56 Uhr, 868 Aufrufe, 2 Kommentare, 1 Danke

Hallo,

ich habe mal wieder ein kleines Problem...

Ich bin grade dabei ein paar .XML-Dateien für unser System umzustricken.
Mit Dateinamen und Inhalt funktioniert das auch schon ganz gut und wie ich will.

Jetzt möchte ich aber eine "processing instruction", genauer gesagt den Tag <?XML-sylesheet ...>, entfernen.
Behandle ich die Datei wie eine .txt und lösche die Zeile einfach so raus, wird der Rest nicht mehr als .XML erkannt und IE zeigt mir eine leere Seite. (Mache ich das manuell bekomme ich die Anzeige, wie ich sie will - Struktur der XML).

Wie kann ich das bewerkstelligen, dass es passt?
Mitglied: colinardo
LÖSUNG 10.06.2016, aktualisiert um 13:23 Uhr
Hallo Cougar77,
hier ein Beispiel

Beispiel XML-Datei:
01.
<?xml version="1.0" encoding="utf-8"?>
02.
<?xml-stylesheet href="default.css" title="Default style"?>
03.
<images>
04.
  <image>
05.
    <startdate>20160517</startdate>
06.
    <fullstartdate>201605170000</fullstartdate>
07.
    <enddate>20160518</enddate>
08.
  </image>
09.
</images>
Code zum entfernen der entsprechenden Processing-Instruction (stylesheet)
01.
$xmlfile = 'C:\demo.xml'
02.
# XML Datei laden
03.
$xml = new-object XML ; $xml.Load($xmlfile)
04.
# Knoten der Processing Instruction per XPath selektieren
05.
$pi = $xml.SelectSingleNode("/processing-instruction('xml-stylesheet')")
06.
# Instruction entfernen wenn sie gefunden wurde
07.
if ($pi){$xml.RemoveChild($pi)}
08.
# XMl-File wieder speichern
09.
$xml.Save($xmlfile)
ACHTUNG: Wenn deine XMLs Namespaces verwenden muss der Code gänzlich umgestrickt werden und die Namespaces per Namespacemanager bekannt gemacht werden!

Behandle ich die Datei wie eine .txt und lösche die Zeile einfach so raus, wird der Rest nicht mehr als .XML erkannt und IE zeigt mir eine leere Seite.
Ich vermute du hast das File dann nicht im selben Encoding gespeichert wie es in der XML in der Declaration angegeben wurde, oder unwissend mehr entfernt als erlaubt.

Grüße Uwe
Bitte warten ..
Mitglied: Cougar77
10.06.2016 um 14:18 Uhr
Danke!
Das funktioniert super!
So ähnlich hatte ich das schon versucht - nur habe ich nirgends gefunden, wie ich die PI per selectSingleNode ausgewählt kriege...
Danke!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell XML RemoveChild
gelöst Frage von KraemerBatch & Shell2 Kommentare

Moin zusammen, ich versuche gerade Nodes aus einer XML-Datei zu entfernen. Der Dateiaufbau ist wie folgt: Folgende Code benutze ...

Batch & Shell
Powershell xml zu csv
gelöst Frage von GeoSemBatch & Shell2 Kommentare

Hallo Dank einem Beitrag bin ich weiter gekommen ;-) Leider habe ich mit powershell keine Erfahrung - so habe ...

Batch & Shell

Verständnisprobleme XML mit Powershell

gelöst Frage von KraemerBatch & Shell14 Kommentare

Moin zusammen, ich hoffe mir kann jemand auf die Sprünge helfen. Ich hatte bisher kaum was mit XML-Dateien zu ...

Batch & Shell

XML mit Powershell bearbeiten

gelöst Frage von RustiXXBatch & Shell5 Kommentare

Hallo Zusammen, ich habe aktuell ein paar XML-Dateien zu bearbeiten, die beim Datentransfer auf Fehler gegangen sind. Allerdings sind ...

Neue Wissensbeiträge
Windows Server

Active Directory ESE Version Store Changes in Server 2019

Information von Dani vor 3 StundenWindows Server

Moin, Last month at Microsoft Ignite, many exciting new features rolling out in Server 2019 were talked about. But ...

Exchange Server

Microsoft Extending End of Support for Exchange Server 2010

Information von Dani vor 3 StundenExchange Server

Moin, After investigating and analyzing the deployment state of an extensive number of Exchange customers we have decided to ...

Schulung & Training

Humble Book Bundle: Network and Security Certification 2.0

Tipp von NetzwerkDude vor 4 StundenSchulung & Training

Abend, bei HumbleBundle gibts mal wider ein schönes Paket e-books: sind verschiedene Zertifizierungen wie MCSA, CCNA, CompTIA etc., für ...

Voice over IP

Telekom Umstellung von ISDN Anlagenanschluss auf IP-Telefonie

Erfahrungsbericht von NixVerstehen vor 3 TagenVoice over IP7 Kommentare

Hallo zusammen, nachdem nun vor ein paar Tagen die zwangsweise Umstellung von ISDN auf IP-Telefonie problemlos über die Bühne ...

Heiß diskutierte Inhalte
Windows Server
Drucker auf dem Terminalserver 2016 via Printserver wird nicht angezeigt
Frage von EchterHansenWindows Server14 Kommentare

Moin Moin, ich habe hier zwei 2016er Terminalserver und einen 2016er Printserver, auf dem ca. 10 RICOH-Drucker Typ 4. ...

Hardware
Ncomputing N600 oder auch 600W Privat nutzen Kostenlos oder kostengünstig
gelöst Frage von PlerTanixHardware14 Kommentare

Hallo liebe Forum User, Ich habe da eine Frage. Ich bin Azubi im dritten Lehrjahr und bei uns in ...

Windows 10
Upgrade Windows 10 1903 und Office 2010 Problem mit Userzertifikaten
gelöst Frage von Looser27Windows 1012 Kommentare

Guten Morgen, ich habe bei uns ein Phänomen in o.g. Kombination festgestellt, welches nach dem Inplace-Upgrade auf 1903 auftritt. ...

Datenschutz
Onedrive, Dropbox, Google Drive und Co. sperren?
Frage von holliknolliDatenschutz10 Kommentare

Hallo, wir haben folgendes Problem: die oben gennannten Cloud-Storages. Die wollen wir für Mitarbeiter sperren, damit kein Wildwuchs entsteht, ...