problem with .Net xml importnode

By : Trondh
Source: Stackoverflow.com
Question!

Im trying to construct a powershell script that uses some XML. I have a XML document where I try to add some values with email addresses. The finished xml document should have this format: (I'm only showing the relevant part of the xml here)

<emailAddresses> 
    <value>[email protected]</value> 
    <value>[email protected]</value> 
    <value>[email protected]</value> 
</emailAddresses>

SO, in powershell I try to do this as a test, which fails:

$newNumber = [xml] '<value>555-1215</value>'
$newNode = $Request2.ImportNode($newNumber.value, $true)
$emailnode.AppendChild($newNode)

After some reading, I have figured out that if I do this, it suceeds:

$newNumber = [xml] '<value name="flubber">555-1215</value>'
$newNode = $Request2.ImportNode($newNumber.value, $true)
$emailnode.AppendChild($newNode)

So, I am stuck. I'm starting to wonder if I should use another function instead of importnode when I have several keys with the same name but different values.

As you guys probably have figured out by now, i'm not an expert in xml. ANy help appreciated!

By : Trondh


Answers

As you've indicated, there are pieces of XML that have been left out of the question so I've constructed my own rendition that hopefully adapts to the real world version.

First off...

$newNumber.value

... is of type string. ImportNode() expects a XmlNode type as the first parameter. To get this, you can probably call a function like get_DocumentElement() and/or SelectSingleNode().

For example:

$Request2 = [xml]'


This video can help you solving your question :)
By: admin