[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
?
Solved

Replace XML Element Content using VB

Posted on 2007-11-17
3
Medium Priority
?
729 Views
Last Modified: 2013-11-26
Hi,

I am new to XML and have a couple of questions. I have a XML document. How can I replace the content of the elements using VB? I want to replace the content with another similar XML document. Some of the information will be there, and some not. I hope this is enough information to get started.

Here is a small sample of my XML:

<Core>
<title>DocTitle</title>
<publisher>Who Published</publisher>
<date>0</date>
<format>text/xml</format>
<language>EN</language>
<rights>Who has rights<rights>
</Core>

Open in new window

0
Comment
Question by:ALawrence007
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 19

Accepted Solution

by:
weellio earned 2000 total points
ID: 20304766
here is one i use.
 
you can either script it or at commandline you can just type
"cscript replace.vbs C:\Scripts\file.xml Bob superman"
and it will replace all instances of bob with superman

Const ForReading = 1
Const ForWriting = 2
 
If Wscript.Arguments.Count <> 3 Then
WScript.Echo "example" & VbCrLf & "cscript replace.vbs C:\Scripts\Text.txt Jim James"
WScript.Quit
End if
 
strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
 
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)
 
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.WriteLine strNewText
objFile.Close

Open in new window

0
 

Author Comment

by:ALawrence007
ID: 20304851
Thanks weellio,

Would this work if I want to replace just the title maybe or maybe the title and the publisher?

<Core>
<title>DocTitle</title>
<publisher>Who Published</publisher>
0
 
LVL 19

Expert Comment

by:weellio
ID: 20308939
to make sure i understand correctly,.
do you just want to replace one word with another word?
if so, then the script above will do exactly what you need

start - run
type "replace.vbs C:\Scripts\file.xml Doctitle newdoctitle"
and all instances will be replaced.

or you can just open the file in notepad and click edit-replace



if you want a script to seach and find <title>sometitle</title> then replace everying between the 'title' fields, then i'll need to write a script that is a little different.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question