public static MapaElectrico fromElement(Node tuberias, Mapa mapa, Dinero d)
			throws NoSeCumplenLosRequisitosException,

			FondosInsuficientesException, CoordenadaInvalidaException,
			SuperficieInvalidaParaConstruir {
		MapaElectrico mapaElectrico = new MapaElectrico(mapa);
		NodeList hijosDeRed = tuberias.getChildNodes();

		for (int i = 0; i < hijosDeRed.getLength(); i++) {
			Node hijoDeRed = hijosDeRed.item(i);
			if (hijoDeRed.getNodeName().equals("mapa")) {
				NodeList hijosDeMapa = hijoDeRed.getChildNodes();
				for (int j = 0; j < hijosDeMapa.getLength(); j++) {
					Node hijoDeMapa = hijosDeMapa.item(j);
					if (hijoDeMapa.getNodeName().equals("Nodo")) {
						NodeList hijosDeNodo = hijoDeMapa.getChildNodes();
						String stringPunto = "";
						Coordenada puntoAAgregar = new Coordenada();
						for (int k = 0; k < hijosDeNodo.getLength(); k++) {
							Node hijoDeNodo = hijosDeNodo.item(k);
							if (hijoDeNodo.getNodeName().equals("Coordenada")) {
								stringPunto = hijoDeNodo.getTextContent();
								String[] arrayPunto = stringPunto.split(",");
								puntoAAgregar = new Coordenada(
										Integer.valueOf(arrayPunto[0]),
										Integer.valueOf(arrayPunto[1]));
							} else if (hijoDeNodo.getNodeName().equals(
									"LineaTension")) {
								LineaTension lt = new LineaTension(mapa, d,
										puntoAAgregar);
								lt.fromElement(hijoDeNodo);
								mapaElectrico.agregar(lt);
								d.add(lt.costo());
							}
						}
					}
				}
			}
		}
		return mapaElectrico;
	}