Uploading an XML file

Hello,

I can create a button and click on it. I want the normal Explorer window to appear and you can choose only XML files, select it and it is uploaded and then used in the program instead as the ones already given in the program.

Angular JS is used, so the button will be an ng_click module. The XML file should also be checked that it is a real XML file.

So far there are three constants.

const form1 =
`<?xml version="1.0" encoding="UTF-8"?>
<XML file starts

form2, form3

In another file these three forms are imported:

import form1 from ‘./forms/form1.js’

const forms = {
form1,
form2,
form3
}

export default forms
export const metaXml …

In the final program this complete form is imported and put into a scope.case as part of an object.

So the uploaded file should replace the imported form.

I guess there has to be a check if a file has been uploaded and then use a different import procedure.

Thanks a lot.

Firstly, welcome to the forums.

While we are primarily here to help people with their Free Code Camp progress, we are open to people on other paths, too. Some of what you are asking is pretty trivial in the Free Code Camp context, so you might find that if you’re not getting the instruction and material you need in your current studies, the FCC curriculum will really help you get started. At a modest guess I’d say investing a 4-5 hours working through the curriculum here will really pay off. You can find the curriculum at https://www.freecodecamp.org/learn.

With your current questions, we don’t have enough context to know what you already know or don’t know, so it is impossible to guide you without just telling you the answer (which we won’t do).

It is pretty typical on here for people to share a codepen / repl.it / jsfiddle example of what they have tried so that anyone helping has more of an idea of what help is actually helpful.

Please provide some example of what you’ve tried and I’m sure you’ll get more help.

Happy coding :slight_smile:

I tried to put the code into codepen but it is tied to our structure so won’t work.

This works for opening the file:

<input type="file" id="fileInput" accept=".xml">
<div id="fileContents"></div>

Might be nicer to include it in this:

<button ng-click="uploadXML()">Upload XML</button>

Not that important. Maybe change the writing on the first button from “Choose file” to “Choose XML file”.

Once it is selected, something should happen with it, can this be done automatically or is it better to click on another button? I can use the ng-click for that. But that should only work if a file has been uploaded before. So there needs to be a check for that.

$scope.useXML = () => {

}

The uploaded file should then be put into a variable instead of the ones already pre used in the program.

Something like, if file has been opened successfully then valid = true.

If true then forms = file else forms = forms.

Can you see this?
XML

How do I check that the file is really a valid XML file? It could be any file just with an .xml extension and it can be uploaded.

I found a lot of XML related code examples here: